スイスの為替ブローカー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フォーラムで参考になるレスをなんとか探して参考にした
- 海外・欧州のブローカーなので、当然ながら英語・ドイツ語しか無い
- 取得したデータが小数点を削除・圧縮されていた為、それを復元する為にテスト・デバッグを繰り返して、なんとか復元できた