大幅な最適化による洞察力の強化

 

今回は、ティック(値動きするたびに刻まれる点)単位の非常に細かいデータに基づく通貨取引モデルを開発した事例をご紹介します。

Pivot Billionの興味深くチャレンジングな実用例として、当社(AuriQ Systems)はこのユースケースに取り組んできました。取引モデルを開発したい通貨ペア(売買する2国間の通貨の組み合わせ)の過去5年間のティックデータ(約1億4000万行)の分析から始めました。1通貨ペア当たりで1億4000万行にもなります。複数の通貨モデルを開発することが目標でしたので、かなり膨大なデータになりました。

PivotBillionsを組み込んだことで、研究サイクルを通じて、開発対象の全ての通貨のティックデータにあらゆる粒度でアクセスすることが可能になりました。データのロードとアクセス、追加機能によるデータの強化、追加した項目についてのデータ分布の調査、追加した項目でのピボットテーブルの作成とその影響の調査など、膨大なデータを効率的に調査することが可能になりました。

データにアクセスして管理できるようになっても、一貫した取引モデルを開発するには何度も何度もテストを繰り返さなければなりません。PivotBillionsを使用すると、他のツールでは数分から数時間を要するような場合でも、ほんの数秒で済みます。結果が出るのに数分を要しても、1回のテストシミュレーションであれば許容できるかもしれません。しかし、反復テストを繰り返し実行する場合には大きな障害となり、大量のデータに対する最適化や広範囲に及ぶモデリングが難しくなります。

たとえば、ティックデータ1年分のテストシミュレーションに要する時間が平均60秒で、1000個の取引モデルを調査する場合、それらの実行に約17時間を要します。同じシミュレーションを5年分実行しなければならないとすると、単純計算で約85時間を要します。もちろんこれは単純な計算であり、シミュレーションの実行時間はモデルの複雑さに基づいてさらに長くかかる可能性があります。ただ、1000個のモデルを実行するだけでも非常に膨大な時間を要することはわかるかと思います。

そのため当社では、PivotBillionsのデータ処理プラットフォーム上で動作する独自の時系列データベースと取引モジュールを開発し、シミュレーション時間の大幅な短縮を図りました。それにより、ティックデータ5年分のシミュレーション1回当たりの実行時間を平均約10秒に短縮しました。その結果、他の取引シミュレータでは約85時間かかった5年分のシミュレーションを、PivotBillionsは約7時間で終えることができました。これは合計実行時間の実に90%以上の削減です。ただ、これは開発初期の段階のことであり、その後、シミュレーションを約1000倍高速化することに成功しました。.

PivotBillionsの機能をフルに活用し、何億もの生のティックデータポイントについての何十万回ものシミュレーションを組み込んでいる統計分析フリーソフトのRから最適化を実行して、5年間利益を上げ続ける取引モデルを見つけることができました。

1つの通貨についての取引モデルを開発した後も、他の通貨に移行して同じプロセスを適用することができました。一貫して機能するモデルを見つけるために、利用可能な多くの機能をすばやく調べたり、膨大な数のパラメーターを最適化したりすることは、2回目だとさらに簡単になります。すぐに2つ目のモデルを見つけることができました。このプロセスは、EUR/USD、AUD/JPY、EUR/JPY、およびUSD/JPYの通貨ペアについて、収益性が高く、一貫性があり、実行可能な4つのモデルを見つけるまで続きました。

全プロセスは、無料のPivotBillions dockerイメージを使用して実行することができます。これらの機能の使用に関して支援が必要な場合は、info@pivotbillions.comまでお問い合わせください。