CSN_1Aという戦略のバックテスト
追記)コロナショックにも対応できてない
更に追記)パラメタ弄ってた
追記終わり)
すみません ほぼ自分用記事です
CSN_1A という戦略
MAIN 000 ; -----市場---------------------- NotT1 ; ---------------------- Var(ckc,22) Var(a1,15) Var(a2,29) ; ---------------- IntV(zd,10) IntV(mn,30) ; ---------------------- _ CK_CNT=Vckc CK_CNT 22 ; --------------------- DblD -Va1 d1 pAd(Dd1) ; --------------------- pD(Oku(1),Oku(500000)) ; --------------------- DblD -Va2 d2 sAu(Dd2) ; --------------------- _ Zday=Nzd Zday 10 _ MAXn=Nmn MAXn 30 dnl -------------------- YSN 360000 RKK 5 SSN 5
2014/10/28~2018/11/22の1000日データ
信用倍率2倍
DD:j=200:176,691( 1.74%) 資金=10,162,940 損益=9,035,723 (年2,644,601 年利 26.02%)
DD小さく年利20%以上
2012/11/28~2016/12/30の1000日データ
信用倍率2倍
DD:j=668:604,187( 5.68%) 資金=10,629,865 損益=12,248,285 (年3,584,863 年利 33.72%)
DDがちょっと大きいが年利は30%以上
まあ、DDは耐えられるレベル
2009/12/4~2013/12/30の1000日データ
信用倍率2倍
DD:j=867:474,333( 4.74%) 資金=10,016,245 損益=4,336,824 (年1,269,314 年利 12.67%)
DDは少し大きい(耐えられるレベル) 年利は10%ちょっとで物足りない
それ以前にシグナル少ない
2007/1/5~2011/2/4の1000日データ
信用倍率2倍
DD:j=437:4,949,243(44.43%) 資金=11,139,635 損益=-1,564,451 (年-457,888 年利 -4.11%)
結論
gr125255チェックで2007~2008レベルになったら運用停止して、別の戦略に譲った方がいいかも・・・・
CSN_1Cという戦略の2013年対策検討
CSN_1Cという戦略
2013年の暴落に対しても少しDDが大きいので、パラメタ(変数)を弄ってみる
2009/12/4~2013/12/30の1000日データ
信用倍率2倍
DD:j=866:736,321( 5.83%) 資金=12,637,529 損益=10,102,361 (年2,939,717 年利 23.26%)
Vckc 22⇒26
信用倍率2倍
DD:j=866:736,321( 5.83%) 資金=12,637,529 損益=10,102,361 (年2,939,717 年利 23.26%)
まったく同じ
Vckc 22⇒32(+10)
信用倍率2倍
DD:j=864:369,270( 2.96%) 資金=12,459,029 損益=9,849,984 (年2,866,277 年利 23.01%)
資金微減、年利微減、DD1/2
Va1 29⇒33(+4)
信用倍率2倍
DD:j=848:536,175( 5.32%) 資金=10,080,764 損益=8,122,972 (年2,363,728 年利 23.45%)
資金20%減、年利微増、DD微減
Vckc 22⇒26 Va1 29⇒31
信用倍率2倍
DD:j=315:601,874( 5.32%) 資金=11,309,914 損益=8,726,029 (年2,539,213 年利 22.45%)
資金10%減、年利1%減、DD微減
結論
- Vckc Va1 を大きくすると
- 資金は最大20%減だが
- 年利1%マイナス程度で
- DDを1/2以下にまで小さくできた
CSN_1Cという戦略の2008年対策検討
追記)2020/5/17
コロナショックに対して
Va1 29⇒33 Vckc 22⇒26
としたところ
儲かってないが多少は改善した
追記終わり)
CSN_1Cという戦略
2008年の暴落に対してDDが大きいので、パラメタ(変数)を弄ってみる
2007/1/5~2011/2/4の1000日データ
信用倍率2倍
DD:j=444:1,753,060(11.77%) 資金=14,890,615 損益=8,164,142 (年2,375,708 年利 15.95%)
まず、変数は
Vckc 22 Va1 29 Vzd 5 Vmn 30
となってる
Vckc 22⇒26
信用倍率2倍
DD:j=433:1,134,334( 7.62%) 資金=14,890,615 損益=7,872,716 (年2,290,905 年利 15.38%)
資金変わらず、年利微減、DD2/3
Vckc 22⇒32(+10)
信用倍率2倍
DD:j=250:801,702( 5.38%) 資金=14,890,455 損益=6,940,180 (年2,019,544 年利 13.56%)
資金変わらず、年利2%マイナス DD1/2
Va1 29⇒33
信用倍率2倍
DD:j=433:861,146( 5.97%) 資金=14,433,230 損益=6,991,587 (年2,034,503 年利 14.10%)
資金微減、年利1%マイナス DD1/2
Vckc 22⇒26 Va1 29⇒31
信用倍率2倍
DD:j=250:739,354( 4.96%) 資金=14,905,980 損益=7,011,526 (年2,040,305 年利 13.69%)
資金微増 年利2%マイナス DD 1/2以下
結論
- Vckc Va1 を大きくすると
- 資金はほぼ変わらず
- 年利2%マイナス程度で
- DDを1/2以下にまで小さくできた
CSN_1Cという戦略のバックテスト
追記)2020/5/17
コロナショックには対応できずx_x
追記終わり)
すみません ほぼ自分用記事です
CSN_1C という戦略
MAIN 000 ; -----市場---------------------- NotT1 ; ------------------------------- Var(ckc,22) Var(a1,29) ; ---------------- IntV(zd,5) IntV(mn,30) ; ---------------------- _ CK_CNT=Vckc CK_CNT 22 ; --------------------- DblD -Va1 d1 pAd(Dd1) ; --------------------- pD(Oku(1),Oku(500000)) _ Zday=Nzd Zday 5 _ MAXn=Nmn MAXn 30 dnl -------------------- YSN 360000 RKK 15 SSN 0
追記2019/6/29追記)
最新表記(内容は同じ)一部おかしくて使っていない
MAIN 000 ; -----市場---------------------- NotT1/sj ; ------------------------------- ##2008 +4 Vckc := 0 ##2008 +4 2019 +2 Va1 := 0 ; ---------------- ##使っていない IntV(mn,30) ## ; ---------------------- CK_CNT := 22+Vckc ; --------------------- Dd1 := -29-Va1 pA :< Dd1 ; --------------------- pD : 1/ok 500000/ok Zday 5 ; DEF DAIBUG ##おかしい ;_ MAXn=Nmn ##おかしい MAXn 30 dnl -------------------- YSN 360000 RKK 15 SSN 0
2014/10/28~2018/11/22の1000日データ
信用倍率2倍
DD:j=398:40,510( 0.36%) 資金=11,331,986 損益=8,563,989 (年2,492,061 年利 21.99%)
DD小さく年利20%以上
2012/11/28~2016/12/30の1000日データ
信用倍率2倍
DD:j=868:52,471( 0.44%) 資金=12,002,192 損益=13,228,006 (年3,849,258 年利 32.07%)
やはりDD小さく年利30%以上
2009/12/4~2013/12/30の1000日データ
信用倍率2倍
DD:j=866:736,321( 5.83%) 資金=12,637,529 損益=10,102,361 (年2,939,717 年利 23.26%)
DDがちょっと大きいが年利は20%以上
まあ、DDは耐えられるレベル
2007/1/5~2011/2/4の1000日データ
信用倍率2倍
DD:j=444:1,753,060(11.77%) 資金=14,890,615 損益=8,164,142 (年2,375,708 年利 15.95%)
DDはちょっと大きい 年利も15%
DD最大の444は2008/10/23
結論
- 基本ルール通り運用は可能
- 2008年レベルの暴落に対しては少しチューニングした方がいいかも
※パラメタもすべて晒してますが、パラメタの内容までは解説してないので詳細はわからないと思います
ですが、何かの参考になれば・・・・
Esgrsdnl マニュアル(MAIN メインCソース指定)
Esgrsdnl という自作DSL でシストレルールを記述しているのですが、そのマニュアル
特殊パラメタ MAIN
MAIN : メインCソース指定
記述例
MAIN 000
ベースとなるCソースを指定
今のところ、./suQ2/main/main_000.c
がメインCソースなので、000を指定
もしこの記述がないと、./suQ2/main/simxp8trsu_nobug2.c
が、メインCソースとなる
これは、メインCソースを改良して、互換性が失われるような際に、新たなメインCソースを新たに作り、Esgrsdnl上で指定することで、過去の資産がそのまま動くことを保証するための工夫(のつもり)
Esgrsdnl マニュアル(特殊パラメタ CK_CNT)
Esgrsdnl という自作DSL でシストレルールを記述しているのですが、そのマニュアル
特殊パラメタ CK_CNT
CK_CNT : シグナル数フィルタ閾値
監視銘柄数1000に対して、この設定値以上の数シグナルが出て初めてシグナルとする
(CNTはカウントですが、CKの意味が今となっては不明w)
記述例
CK_CNT 22
ただ、半角スペースまたはタブで区切って直接数値を指定すればよい
変数で書き換える場合
Var(ckc,22) _ CK_CNT=Vckc
CK_CNT 22
のように記述
注意として
- CK_CNTはdoubleなのでIntV()ではなくVar()を使う
- 先頭の"_"が必要で、かつ、"="で繋ぐ必要あり
- CK_CNTはコンパイル時にfilter実現ソースを準備するので
- ダミーで直接数値指定が必要
2019/6/29追記)最新表記だと
Vckc := 0 CK_CNT := 22+Vckc
といった表記も可能に
ダミーで直接数値指定は不要
Esgrsdnl マニュアル(特殊パラメタ Zday MAXn)
Esgrsdnl という自作DSL でシストレルールを記述しているのですが、そのマニュアル
特殊パラメタ Zday と MAXn
Zday : 何日保持するか? 省略時5
MAXn : 最大シグナル数(銘柄数) 省略時5
記述例
Zday 10 MAXn 30
ただ、半角スペースまたはタブで区切って直接数値を指定すればよい
変数で書き換える場合
IntV(zd,10) _ Zday=Nzd IntV(mn,20) _ MAXn=Nmn MAXn 30
のように記述
注意として
- ZdayもMAXnもintなので、IntV()を使う
- 先頭の"_"が必要で、かつ、"="で繋ぐ必要あり
- MAXnはコンパイル時に配列確保するので
- デフォルトの5より大きくなる場合は
- 直接数値指定が必要