自分もバックテストツールを作りたい!!
ふと、思いました・・・
自分でもバックテストツールを作れたら・・・
今の自作シミュレーターと連動させて、シミュレートしながら
そのままバックテストに移行して利回りを表示させるんだ・・・(遠い目)

自作シミュでは、ロスカットレートと下落時の必要資金が出るから
単純にバックテスト期間での累計利益さえ出せればオッケイ👍
それなら自分でも作れる気がするよ!知らんけど
知らんから、とりあえずググってみよう!
うーんっと・・・・よん?
マクロ?VBAの動きもよくわからないし、ヒントも見当たらず
あるのかもしれませんが、まだ理解できませんでした・・・
とりあえず、トラリピの動きをイメージして作ってみよう!
バックテストツール作成開始!

テスト的に作ってみたのがコチラ☝
- 1日で高値と安値の間を動いている
- その中にポジションがあれば約定
- ポジション+利益幅があれば決済
- 決済されなければ、新規約定はしない
マクロを使いこなせず、関数のみで作成を始めたので
めっちゃアナログ的な方法でできましたw
まずは基本となる文字列を作り
文字列の中から、高値と安値を切り取って
ポジションと一致すれば新規約定!ってなイメージ。
⁼MATCH(ポジション,OFFSET(参照,高値の行数,0,安値行数-高値行数+1,1),0)>0,1,0)
2行目からは決済されないと新規約定しないように
MAX関数を使用
⁼IF(AND(MATCH(ポジション,OFFSET(参照,高値行数,0,安値行数-高値行数+1,1),0)>0,MAX(ポジ1行)<=MAX(決済1行)),MAX(ポジ1行)+1,0)
利益は、決済されたときのレートで円換算して出力
なんやかんや、バックテストツールっぽくなってきたので良かったのですが
ここで心配なことは
- ポジション1つに対してバックテスト期間全て作らないといけない
(150ポジ版の場合は、日足13年分:約3,300行×150ポジ) - 基本の文字列(255~0、2.2~0)の行数が多いし
0.001や0.00001刻みだと、変な端数がでる
(2進数の影響らしい)
②に関しては、RoundDown関数を使い小数点切り捨てで乗り切りました
VBAのループ計算(For~Next)を使い、自動出力
0.001刻みで25.5万行作りましたがマネスクの日足データみたら
2.5万行で良かった・・・0.01刻みじゃんw
①に関しては・・・・ファイルサイズが凄そうだけど・・・
とりあえず作ってみよう!と作成続行
他に良さげな方法が思いつかなかっただけですw
理想は・・・
理想は、バックテストの精度を上げるために1時間足を使いたいんです。
1時間足の高値&安値データがどこにあるか知らないけど
データに関しては、とりあえず作ってから探す方向でw
それでいて自作シミュとの連動(150ポジ×12)
連動せす、単体でもできるように切り替え機能付き
売りも買いも切り替えできて
クロス円とその他通貨も切り替えできれば尚良し
(⁼IF(切替欄有効,基軸レート,1)みたい感じで)

ところがどっこい
作っていくうちに大きくなるファイルサイズ・・・
負荷をかけすぎて動作が重くなるパソコン・・・
メモリ&CPU使用率が上がっていき、異音まで出る始末ww
こりゃマズい!と自作シミュとの連動を辞め
1時間足対応も辞めて日足対応へ(5万行→4,000行)
ポジション欄も半分へ(12→6)
不要な行や列を削除してもファイルサイズが減る事はなく
No1の65行分作った所で作成を断念しました・・・
(約23MB)
半分以下で約23MBだから、150行×6列作ったら大変
知識不足で、無駄な計算が多いんだと思う
関数だけでやるにしても、もっとスッキリとできるのかも
失敗・・・でも動かしてみた
全て作るのは失敗しましたが、動作的には間違っていない気がするので
65行内で収まる、オージー・キウイをバックテストしてみました!

マネースクエア社のヒストリカルデータを使い
2015年9月14日から2020年11月24日までをバックテスト!
約5年分です。

結果は、5年間で累計利益が414,606円!
年利:15%です。(元本:54万円)
日足データの高値-安値という、一直線の動きでテストしているので
1時間足で計測した22%とはいきません。
でも、なんかそれっぽい動きしてくれて嬉しい。
CPU使用率がエグイし、PCからシュンシュン異音するけどね・・・
(SurfacePro i5なのでファン無し)
今後は?
やっぱりバックテストツールを作ってみたい
自作シミュと連動できたら面白そうなんだけどな
もう、作るならVBAから逃れられない気がします・・・w
少しずつ勉強して、気が向いた時にチマチマ試行錯誤してみます。
知識を付けなければ・・・(切実)
バックテストツールを自作している方達すごい。
→為替研究所:Yuki様
→『働きたくない』ガチ勢:アビ様
②へ続く→
