Skip to content

XRayZen/GetHistData_Lib

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GetHistData_Lib

スイスの為替ブローカーDukasCopyから為替レートなどの時系列データを取得するライブラリです

  • Rustでトレードシステムが作られている為、このライブラリもRustで作成しています
  • 現在保守をしていないので、DukasCopyの仕様変更により動作しない可能性があります
  • 個人開発で受注して納品した成果物の一部です
    • 残りは許可が貰えていないので公開できません

使用技術

  • Rust 2018
  • chrono (時間ライブラリ) : Ver.0.4
  • reqwest (HTTPクライアント) : Ver.0.11
  • serde (Jsonシリアライズ/デシリアライズ) : Ver.1.0
  • regex (正規表現) : Ver.1.3
  • rayon (並列処理) : Ver.1.5
  • xz2 (圧縮/解凍) : Ver.0.1.6
  • byteorder (バイトオーダー変換) : Ver.1.3

実装した機能・フロー

  • データ取得(引数:通貨ペア、期間)
    • データ取得のためのURLを生成
    • URLにアクセスし、データを取得
    • データを解凍
    • データをバイナリデータからパースし、小数点を含む時系列データに復元
    • データをリターンする
  • データ保存
    • データをCSV形式で保存
    • データをJSON形式で保存

使い方

データ取得

let tickData = Get_HistricRate("USDJPY", "2019-01-01", "2019-01-31").await?;

工夫した点・苦労した点

  • 参考資料が全て英語かドイツ語(スイスドイツ方言)だったので、それを翻訳して仕様を把握するのが大変だった
    • 海外・欧州のブローカーなので、当然ながら英語・ドイツ語しか無い
      • 一部仕様がドキュメント化されていないのもあった
    • DeepLを使ってなんとか翻訳した
    • 公式資料だけではなくReddit(英語圏の大型掲示板サイト)や海外のFXフォーラムで参考になるレスをなんとか探して参考にした
  • 取得したデータが小数点を削除・圧縮されていた為、それを復元する為にテスト・デバッグを繰り返して、なんとか復元できた

About

DukasCopyから時系列データを取得するライブラリ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages