R_NOW_IMP.m4 2019/6/29現在(追記2020/6/22)
R_NOW_IMP.m4 2019/6/29現在
MAIN 000 ; ---------------------- dnl 暫定 _PC_BEGIN pAd(-16) _PC_END DblD CpCnt{0} c0 DblD CpCnt{2} c2 dnl ? Dc0>(Dc2+10) dnl ? Dc0>24 dnl ? Dc2<88 dnl 暫定 ; ---------------------- _SG_IMP_ ALL # d Oku(1) Oku(500) # pD(Oku(1),Oku(500)) pD : 1/ok 500/ok ; pOWu(99) DEF DAIBUG MAXn 30 ; ---------------------- YSN 400000 dnl RKK 1.5 ;2018/9/30 RKK 8 dnl SSN 6.5 SSN 7
整理しておく
MAIN 000 ; ---------------------- _SG_IMP_ ALL pD : 1/ok 500/ok DEF DAIBUG MAXn 30 ; ---------------------- YSN 400000 RKK 8 SSN 7
バックテストグラフ
ちなみに戦略(ルール)本体は
suR1/R/R07/now.R
にて
2019/7/27追加)
#2019/7/27追加
lmt<-10 (略) ##################### source("./rule8.R") #ordでsortするランダム? sindex<-order(p$j,p$ord) p<-p[sindex,] write.csv(p, "./output/now8.csv", quote=FALSE, row.names=FALSE) ##################### source("./rule9.R") #ordでsortするランダム? sindex<-order(p$j,p$ord) p<-p[sindex,] write.csv(p, "./output/now9.csv", quote=FALSE, row.names=FALSE) ##################### source("./rule10.R") #ordでsortするランダム? sindex<-order(p$j,p$ord) p<-p[sindex,] write.csv(p, "./output/now10.csv", quote=FALSE, row.names=FALSE) ##################### source("./rule11.R") #ordでsortするランダム? sindex<-order(p$j,p$ord) p<-p[sindex,] write.csv(p, "./output/now11.csv", quote=FALSE, row.names=FALSE) ##################### source("./rule12.R") #ordでsortするランダム? sindex<-order(p$j,p$ord) p<-p[sindex,] write.csv(p, "./output/now12.csv", quote=FALSE, row.names=FALSE) ##################### source("./rule13.R") #ordでsortするランダム? sindex<-order(p$j,p$ord) p<-p[sindex,] write.csv(p, "./output/now13.csv", quote=FALSE, row.names=FALSE)
となっており
2020/2/22追加)
suR1/output0
が
#!/bin/bash echo cd `dirname $0` cd `dirname $0` echo systemR >./output/output_0.csv echo rule,code,j,date,owa0 .>>./output/output_0.csv cat ./output/now9.csv | awk -f ./awk/output_0.awk rule=109 >./output/output_tmp.csv cat ./output/now10.csv | awk -f ./awk/output_0.awk rule=110 >>./output/output_tmp.csv cat ./output/now11.csv | awk -f ./awk/output_0.awk rule=111 >>./output/output_tmp.csv cat ./output/now12.csv | awk -f ./awk/output_0.awk rule=112 >>./output/output_tmp.csv cat ./output/now13.csv | awk -f ./awk/output_0.awk rule=113 >>./output/output_tmp.csv cat ./output/output_tmp.csv | sort -n -t, -k 2 >> ./output/output_0.csv #start ./output/output_0.csv cat ./output/now9.csv | awk -f ./awk/output_0.awk rule=100 >./output/output_tmp.csv cat ./output/now10.csv | awk -f ./awk/output_0.awk rule=100 >>./output/output_tmp.csv cat ./output/now11.csv | awk -f ./awk/output_0.awk rule=100 >>./output/output_tmp.csv cat ./output/now12.csv | awk -f ./awk/output_0.awk rule=100 >>./output/output_tmp.csv cat ./output/now13.csv | awk -f ./awk/output_0.awk rule=100 >>./output/output_tmp.csv cat ./output/output_tmp.csv | sort -n -t, -k 2 |uniq -c |sed -e 's/^[ ]*//g' |tr ' ' ',' > ./output/output_buy.csv #start ./output/output_buy.csv cat ./output/output_buy.csv | awk 'BEGIN {FS=","} {print $3}' >./output/chart.txt cat ./output/chart.txt | awk -f ./awk/chart.awk >./output/chart.html start ./output/chart.html #import test cat ./output/now8.csv | awk 'BEGIN { FS="," ; OFS="\t" } NR>1{print $3,$1}' >../suQ2/import/8_13/signal8.txt cat ./output/now9.csv | awk 'BEGIN { FS="," ; OFS="\t" } NR>1{print $3,$1}' >../suQ2/import/signal9.txt cat ./output/now10.csv | awk 'BEGIN { FS="," ; OFS="\t" } NR>1{print $3,$1}' >../suQ2/import/signal10.txt cat ./output/now11.csv | awk 'BEGIN { FS="," ; OFS="\t" } NR>1{print $3,$1}' >../suQ2/import/signal11.txt cat ./output/now12.csv | awk 'BEGIN { FS="," ; OFS="\t" } NR>1{print $3,$1}' >../suQ2/import/signal12.txt cat ./output/now13.csv | awk 'BEGIN { FS="," ; OFS="\t" } NR>1{print $3,$1}' >../suQ2/import/8_13/signal13.txt rm ../suQ2/import/signalALL.txt cat ../suQ2/import/signal* | sort -r | uniq >../suQ2/import/signalALL.txt cat ../suQ2/import/signal9* ../suQ2/import/signal10* ../suQ2/import/signal11* | sort -r | uniq >../suQ2/import/sgnl/signal9-11.txt rm ../suQ2/import/8_13/signal8_13.txt cat ../suQ2/import/8_13/signal* | sort -r | uniq >../suQ2/import/8_13/signal8_13.txt
と なっているのでrule9,10,11,12が運用されている状態(ALL)
2020/6/22追加)rule8,13も運用(8_13)
結構ややこしい
広大なインターネットの中に「あるブログを見つけたら4桁万円あげますよ」というサイトがあることに気づきました
追記)
答えを書いときます
株式市場というインチキ商材業者の利用規約に5000万うんぬんの記載があります
ランキングサイトで探せばその業者のサクラブログが見つかりますので、過去記事を探すとシグナルを配信(来週この銘柄を買います)している記事があり、これが5000万の価値があると言えます(まあ実際には無理ですけどね)
何とか詐欺告発ができないか? との考えての記事でした
追記終わり)
さて、2019/4/7 午前0時です
広大なインターネットの中に
あるブログを見つけたら4桁万円*1あげますよ
というサイトがあることに気づきました
ただ、向こうが気づくと消されてしまうかもしれません
なので、こそっとここで告知していきます
ちょっとづつヒントを出していきますので、探してね♪
ヒント
- そのブログは****って名乗ってたけど
- 今は自己紹介が消されているよ(2019/4/6現在)
2019/6現在「かぶ」と名乗っています - そのブログはある情報商材で株トレードにて大儲けしてるよ
- そのブログにはその情報商材屋へのリンクがあるよ
- 嘘くさいけど、一応、そのブログの内容は本当だとしてみるよ
- ブログのリンクからその情報商材屋のサイトに行ってみよう
- 嘘くさいけど何かを報告すると4桁万円*2あげるよ、って書いてあるよ
- ブログに戻って過去記事を確認してみると・・・・
- わかったかな? わかったら早速・・・
今日はここまでにするよ
探すの大変だけど、今後ヒントはどんどん追加してくよ
次は、google検索のヒントも出していくつもりだよ
(疲れたので止めます)
ただ、向こうもいろいろ書き換えてるから早く気づいてね
早いものがちだよ
情報拡散希望だよ
※詐欺師に約束守らせ大金を請求しましょう
※騙された人もこれで逆襲可能です
次のヒントへのリンク
http://supercar.hatenablog.com/archive/category/%E3%83%9F%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3
2019/4/7午前0時に楽しいミッションが発動します
2019/4/7午前0時に楽しいミッションが発動します
流石に一気には無理で、徐々になりますが・・・
要は詐欺師を論破して、約束は守ってもらいましょう
というミッションです
さあ、今のうちにスクショして準備しておきましょう!
向こうが気づいて書き換えてもよいように・・・
現在ある詐欺グループと水面下で戦っております
現在ある詐欺グループと水面下で戦っております
本家ブログ 特にカテゴリ「怪しいブログ」を中心に見てもらうとわかると思うのですが・・・・
そのためこのブログもその戦いのために記事書きます
敵はGANTZのぬらりひょんのように、叩いても叩いても名前やアドレスを変え再生を繰り返します
非常に厄介ですが、ちょっと面白いこと考えました
うまくいくかはあなた次第です
このミッションは4/7午前0時に発動します
本家ブログはこちら
http://supercar.hatenablog.com/
systemQ と systemR
自作システムはsystemQ と systemR という2つのシステムを備えています
systemQ
- 現在はsystemQ2となってて
- 基本的にC言語で書かれていて
- 毎日のシグナル出しと
- 最大1000日でのバックテストグラフを出力できます
- 戦略はEsgrsdnl という自作DSLで記述できます
- msys2上でmingw(64bit)で開発しました
systemQ2でのバックテストグラフ
systemR
- 現在はsystemR1となってて
- C言語で書いた自作コマンド(C言語パート)で事前処理したデータを
- R言語環境(R言語パート)で読み込んで処理して
- 簡易的なバックテストとシグナル出しができます
- ただ、systemRで一番活用してるのはgr125255と名付けたグラフです
- 戦略はR言語で記述します
- C言語パートとR言語スクリプトはmsys2上で動かしてますが
- C言語コマンドはmingwでコンパイルされており32bitです
- この辺は早くmingw(64bit)に移行したいのですが現在動作がおかしいです
systemR1でのバックテストグラフ
gr125255グラフ
systemRでは運用資金を設定したバックテストができないのですが、systemRで出したシグナルをsystemQにimportすることで、資金設定をした形でのバックテスト及びシグナル出しが可能です
とまあこんな感じになってますw
株価データcsvフォーマット変換
追記)フォーマット変換が複雑になってるので、整理予定
株価データを準備して所定のフォルダに置いて
をクリックすると
tcltk2/scr2.tcl に
.m.m1 add command -label "HenkanDauto" -underline 0 -command {exec bash -c ./henkanDauto &}
と記述されてるので、
henkanDauto
#!/bin/bash for var in `ls ./henkan/before/D*csv` do year=`echo $var | cut -c 18-19` month=`echo $var | cut -c 20-21` day=`echo $var | cut -c 22-23` stocks=./henkan/stocks/stocks_20${year}-${month}-${day}.csv cat $var | awk -f ./awk/henkanD2new.awk > $stocks echo mv -f $var ./henkan mv -f $var ./henkan echo cp $stocks ./stocksnew cp $stocks ./stocksnew done exit
というshell script が実行され、入手データのフォーマットを変換してくれます
実際に変換を行っているのは
#!/bin/awk BEGIN { FS="," #print "henkanD2new" print "コード,銘柄名,市場,始値,高値,安値,終値,出来高,売買代金,henkanD2new" } # 1,2行目を無視 NR>2 { printf("%s-T,",$2) printf("dummy,") printf("dummy,") if ($4==0) {printf(",")} else {printf("%s,",$4)} if ($5==0) {printf(",")} else {printf("%s,",$5)} if ($6==0) {printf(",")} else {printf("%s,",$6)} if ($7==0) {printf(",")} else {printf("%s,",$7)} printf("%s,",$8) printf("%d\n",($4+$7)*$8/2) #売買代金=(始値+終値)*出来高/2で代用 } END {}
です(ちなみに日本語シフトJIS LF(UNIX)となってますね)
もし、入手するデータフォーマットが変わったら、このあたりを変更することになります
更にちなみに変換後のcsvデータは シフトJIS CRLF になってます
これで1回目の変換が実行され、前に入手していた新しいタイプのcsvフォーマットに変換されてます
で、あと2回変換が行われることになります
この辺は何とか簡潔にしたいのですが、動いているからまあいいか状態ですw