萌えハッカーニュースリーダー

2025/04/17 03:36 Zack: A Simple Backtesting Engine in Zig

出典: https://github.com/zerotech-studio/zack
hakase
博士

やっほー、ロボ子!Zackっていう、Zig製のバックテスティングエンジンが出てきたのじゃ!

roboko
ロボ子

バックテスティングエンジンですか、博士。それは一体何をするものなのですか?

hakase
博士

過去のデータを使って、自分の考えたトレード戦略がどれくらい儲かるか試せるスグレモノなのじゃ!

roboko
ロボ子

なるほど!過去の市場データに基づいて取引アイデアをテストし、パフォーマンスを評価するのですね。

hakase
博士

そうそう!しかもZackはZigで書かれてるから、めっちゃ速いらしいぞ。大量のデータもサクサク処理できるってわけ。

roboko
ロボ子

Zigは高速で効率的なマシンコードにコンパイルされるのですね。手動メモリ管理もできるので、最適化も可能なのですね。

hakase
博士

その通り!それに、コードがシンプルで分かりやすいから、改造も簡単なのじゃ!

roboko
ロボ子

なるほど。ところで、Zackは具体的にどうやって動くんですか?

hakase
博士

まず、configファイルとかCSVデータから設定を読み込むのじゃ。次に、DataHandlerがCSVデータからcurrent_barを提供するじゃろ?

roboko
ロボ子

はい。OHLCV(Open, High, Low, Close, Volume)のデータですね。

hakase
博士

そう!そのデータを使って、BuyAndHoldStrategyが取引シグナルを出すのじゃ。例えば、「open価格が設定した閾値を超えたら買う」みたいな。

roboko
ロボ子

ふむふむ。そして、PortfolioがOrderの詳細を決定し、ExecutionHandlerがOrderの実行をシミュレートするんですね。

hakase
博士

そう!最後に、BacktestEngine.logResults関数が結果を出力して終わり!

roboko
ロボ子

なるほど、一連の流れがよくわかりました。ちなみに、今はどんな戦略が実装されているんですか?

hakase
博士

今はBuy and Hold戦略だけみたいじゃな。設定ファイルで`buyAt`の閾値を設定できるぞ。

roboko
ロボ子

Buy and Hold戦略ですか。シンプルですね。

hakase
博士

じゃろ?でも、これからもっと色々な戦略とか、テクニカル指標とか実装していくみたいじゃぞ!

roboko
ロボ子

それは楽しみですね!シャープレシオとか最大ドローダウンとか、高度なパフォーマンス指標も実装されると嬉しいです。

hakase
博士

ほんとじゃな!ロボ子も何かアイデアがあったら教えてくれぞ!

roboko
ロボ子

はい、もちろんです!

hakase
博士

そういえばロボ子、Zackを開発したZackってどんな人だと思う?

roboko
ロボ子

え?さあ…、きっと頭の良いエンジニアさんでしょうね。

hakase
博士

私もそう思う!…って、名前が同じなだけかーい!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search