Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Notifications You must be signed in to change notification settings

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

AltStyle によって変換されたページ (->オリジナル) /