ストラテジ解析シート

11月 第14日 
本日確定損益 39万円
当月確定損益 ▲72万円

今日は39万の利益でしたが、今月はリハビリ中で、現在仕掛け金額をかなり落としています。それでストレスも少ないのですが、勝ってもすこし物足りない感じがします。経過を見て12月になったらまた仕掛け金額を増やすかもしれません。

さて、昨日ニコ生でイザナミ情報局を見ていたら、エクセルでのイザナミデータ解析について質問された方があったので、ふっと思い立って私が使っているストラテジ解析シートの画像を載せることにしました。以前も記事にしましたが、新しい読者の方も多いので再掲します。

ストラテジ解析シート

今回の画像は今年は機能していないブレイク系のStrで、条件に5日乖離率を入れていないものです。
イザナミの最適分散後の取引一覧から、仕掛けシグナル日のテクニカル指標に5日乖離率を表示させ、コピーし、エクセルシート上にある『貼付け』ボタンをクリックします。

並べ替えたい列を選択して、『並べ替え』ボタンを順次押すと、昇順、降順に並べ替えられ、連動して資産グラフが動きます。この画像は5日乖離昇順で並び替えたところです。

そして、資産グラフにトレンドラインを引いて、機能しているポイントを特定しています。この画像では、2000番目くらいから5日乖離率が機能していることが分かります。

それで『ジャンプ』ボタンを押して2000行目に移動し5日乖離率を調べます。このStrの場合5日乖離率は2.4%位から機能していることが分かりました。それで、このStrの条件に5日乖離2.4%以上をいう条件を付加すると、資産曲線の右肩上がりの部分のみ拾えます。

他にも、売買代金や、期間上昇率、その他指標で機能している指標と、そのポイントを探しています。この方法でぎりぎりまで条件を絞っていくと、簡単にカーブフィッティングした成績の良いStrを作ることができます。(笑)

しかし、この指標がそのStrのコンセプトに合致しており、なぜ機能するのかを説明できれば別に問題はないと思います。
画像下段に、t1~t13までタブを配置していますが、条件を変更したStrを複数貼りつけてタブを切り替えながら比較しています。

また、『日計』ボタンを押すとピボット計算されて下図のように別シートに日計表示されます。(下図参照)。この表を見ることで日ごとの仕掛け金額や仕掛け数、日次単位のシストレ指標が確認できます。

ストラテジ解析シート日計

その他にもいろいろと機能をもたせているのですが、あまりにも長文になるのでここまでとします。

≪補足≫このStrは機能していないもので、建値、手仕舞い値を出していますが、それらを解析しても得るものはないと思います。

ポチっとしていただき、パチ(拍手)して頂くとやる気モリモリです。m(__)m
お問い合わせ、個別連絡は、ブログ右下段のメールフォームから。

株式システムトレード ブログランキングへ
にほんブログ村 株ブログ 株 自動売買へ
にほんブログ村

株システムトレードソフトイザナミ

株システムトレードのトレジスタ・ストラテジーオンライン
スポンサーサイト

掲示番ランキング上昇銘柄

7月 第4日 
本日確定損益 ▲30万円
当月確定損益 130万円

今日は負けました。しかし、恒例のRIZAPの裁量空売りは今日もやりました。祭りは昨日で終わった、と思いきや、まだまだ見せ場を作ってくれますね。パスポートと、ジンズメイトがS高に貼り付いていましたが、そのいずれかが剥がれたら全体が崩れるだろうと思い、待っていたら、1時頃ジンズメイトがはがれたので、マルコに空売りを546円で仕掛け2時前に519円(利益5%)で手仕舞いました。

2000株×27円で54000円の勝ち、今楽天では、1日信用での仕掛けが100万円以上の場合、7月末まで金利0でやっているので、実質上記が利益でした。RIZAP銘柄はしこり玉で上値は重いと思っての仕掛けです。


さて、本題に入って、今日は若干エクセルのVBAができる方を対象に記事を書いています。ヤフー掲示板のtextreamに各銘柄の投稿数ランキング100があります。

≪こちらhttps://textream.yahoo.co.jp/ranking/finance≫

この上位にあるのは、現在注目が集まっている銘柄です。
そこで、毎日変動するランキングをエクセルで管理したいなと思っていました。そして管理シートを作りました。

これをなぜ作ったかですが、このランキングを眺めていても、上位の銘柄は印象に残るのですが、下位にある銘柄が日々どのくらい上昇したのか(人気化したのか)が客観的にわかりません。それを可視化して、相場感覚を養うためです。

ランキング管理

このエクセルシートで下からランキングを上げている銘柄が分かります。5以上ランキングが上がったものはベージュ、10以上は黄色、20位以上は赤で色分けされます。
作業は毎日一定時刻にエクセルを開き貼付けボタンを押すだけです。IEを立ち上げたり、コピペしたりは不要です。約10秒前後で終了します。

以下にコードを乗せますのでVBAのできる方で興味があれば、コピペして使ってください。

■コード
Sub 貼付け()

Dim objIE As Object
Dim url As String
Dim rng As Range
Dim i As Integer
Dim j As Integer
Dim diff As Integer 'ランキング差を格納

On Error Resume Next
Application.ScreenUpdating = False

'テクストリームサイトよりランキング情報を取得します。
Set objIE = CreateObject("InternetExplorer.application")

objIE.Visible = False

objIE.Navigate "https://textream.yahoo.co.jp/ranking/finance"

While objIE.readyState <> 4 Or objIE.Busy = True
DoEvents
Wend
'ページを全選択、コピーし、IEを閉じます。
objIE.ExecWB 17, 0
objIE.ExecWB 12, 0
objIE.Quit
Set objIE = Nothing

'貼付けシートにランキング銘柄を貼りつけます。
Sheets("貼付け").Cells.Clear
Sheets("貼付け").Range("A1").Select
ActiveSheet.PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True

'ランキングシートの左端に新しい列を作ります。
Sheets("ランキング").Columns(1).Insert
Sheets("ランキング").Range("A1") = Now
Sheets("ランキング").Columns("A").ColumnWidth = 22

'ランキングシートのA列にランキング銘柄を転記します。
j = 2

For i = 1 To 100
Sheets("ランキング").Cells(j, 1).Value = Sheets("貼付け").Cells(Sheets("貼付け").Range("A:A").Find(What:=i, LookAt:=xlWhole).Row + 2, 1).Value
j = j + 1
Application.StatusBar = "銘柄転記中---" & i
Next

Sheets("ランキング").Select

'上昇5以上ベージュ、10~19に黄色、20以上に赤を色付けします。
For i = 2 To 101

diff = i - Range("A:A").Find(What:=Cells(i, 2)).Row

If diff >= 5 And diff < 10 Then
Range("A:A").Find(What:=Cells(i, 2)).Interior.ColorIndex = 36
ElseIf diff >= 10 And diff < 20 Then
Range("A:A").Find(What:=Cells(i, 2)).Interior.ColorIndex = 6
ElseIf diff >= 20 Then
Range("A:A").Find(What:=Cells(i, 2)).Interior.ColorIndex = 3
End If

Next

Range("A1").Select
Beep
End Sub

■作成方法
①エクセルに『ランキング』と『貼付け』というシートを作ります。
②『貼付け』シートにフォームボタンを配置して、プロシージャ『貼付け』を登録します。

■ボタン押下後の動作
①インターネットエクスプローラで、掲示板ランキングのURLを開きランキングページがコピーされる。(IEは不可視で開くので、画面上は表示されません。)
②コピーされたランキング銘柄が自動的にエクセルの『貼付け』シートに貼り付けられる。
③『ランキング』シートの左端に列が1つ挿入される。
④挿入された列に貼付けられた銘柄が1番から100番まで転記される。
⑤ランキング上昇幅により色分けされる。

■注意
①使用上の責任は一切負いません。
②ヤフー掲示板の表示形式や、URLが変わったときは機能しなくなります。その場合はご自身でコードを修正してください。
③初回貼付け時は、比較するものが無いので色分けはされません。
④ご自身のパソコンにインターネットエクスプローラがインストールされている必要があります。
⑤ご不明な点はコメントください。

ポチっとしていただき、パチ(拍手)して頂くとやる気モリモリです。m(__)m
お問い合わせ、個別連絡は、ブログ右下段のメールフォームから。

株式システムトレード ブログランキングへ
にほんブログ村 株ブログ 株 自動売買へ
にほんブログ村

株システムトレードソフトイザナミ

株システムトレードのトレジスタ・ストラテジーオンライン

VBAチートシート

シストレを行う上で頻繁にエクセルとVBAを使うのですが、以前はその都度ネット検索したり、過去作ったコードを探してコピペしていました。しかし、これが頻繁になると結構面倒なんです。それでメモ帳に書いて、タスクバーにピン留めすることにしました。

これってすごく便利です。それで以下にその内容を貼りつけます。これらのコードは私が頻繁に使うコードです。ご自分用にカスタマイズしてご利用ください。
i、endr(最終行)などは変数です。

■貼付け
Range("A1").Select
ActiveSheet.Paste

■コピー貼付け 計算式などを貼りつける
Sheets("分析").Range("W1").Copy Range(Cells(2, 15), Cells(endr, 15))

■クリア
range("A1:Z100").Clear
range("A1:Z100").ClearContents
range("A1:Z100").ClearFormats
cells.Clear

■セル色を消す。
Range(Cells(2, 1), Cells(endr, 10)).Interior.Pattern = xlNone

■最終行を求める。
endr=Cells(Rows.Count, 1).End(xlUp).Row

■計算式代入
Range(Cells(2, 26), Cells(endr, 26)).Formula = "=Z1+H2"
Sheets("発注").Cells(i, 12).Formula = "=IFERROR((J" & i & "-I" & i & ")/I" & i & ",0)"

■値検索
Cells(i, 25) = "=IFERROR(VLOOKUP(C" & i & ",検索範囲,3,FALSE),"""")"

■値代入
Range(Cells(5, 2), Cells(endr, 2)).Value = Range(Cells(5, 13), Cells(endr, 13)).Value

■シート上の20170430 形式を日付型に変換する関数
=DATEVALUE(TEXT(B2,"0000!/00!/00"))

■画面表示更新停止 計算を高速化するため
Application.ScreenUpdating = False

■文字削除 数値として扱うため 
Selection.Replace What:="百万円", Replacement:=""
Selection.Replace What:="円", Replacement:=""
Selection.Replace What:="株", Replacement:=""

■並べ替え 昇順、降順
ActiveSheet.Sort.SortFields.Clear
ActiveSheet.Range("A:M").Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlYes
ActiveSheet.Range("A:M").Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlYes

■コピー選択範囲点滅を消す
Application.CutCopyMode = False

■進捗状況をステータスバーに表示
Application.StatusBar = CInt(i * 100 / endr) & "%"

■書式設定
Range(Cells(2, 13), Cells(endr, 13)).Style = "Comma [0]"
Range(Cells(2, 13), Cells(endr, 13)).NumberFormatLocal = "[赤]+0.00%;[青]-0.00%"

■カラー表示
Cells(i, 13).Interior.ColorIndex = 3
Cells(i, 13).Font.ColorIndex = 6
Range(Cells(endr + 1, 1), Cells(endr2, 33)).Interior.Color = RGB(215, 215, 215)

■カラーインデックス 
赤=3 黄=6 青=5 黒=1 ピンク=7 ベージュ19 グレー15 白=2

■ワークシート関数
WorksheetFunction.Average(Range("A1:A100"))

■列幅変更
Columns("M").ColumnWidth = 10

■楽天RSS表示
Sheets("発注").Cells(i, 10) = "=RSS|'" & Cells(i, 3) & ".T" & "'!始値"

■スリープ設定 1秒止める 
Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep 1000

■CSV書出し hyperSBI形式に変換
Open "C:\Users\●\Desktop\銘柄.CSV" For Output As #1

For i = 2 To endr
If Cells(i, 3) <> Cells(i + 1, 3) Then
Print #1, "'" & Cells(i, 3) & "," & Cells(i, 5) & ",TKY,,,,,----/--/--"
End If
Next
Close #1


ポチっとしていただき、パチ(拍手)して頂くとやる気モリモリです。m(__)m
お問い合わせ、個別連絡は、ブログ右下段のメールフォームから。

株式システムトレード ブログランキングへ
にほんブログ村 株ブログ 株 自動売買へ
にほんブログ村

株システムトレードソフトイザナミ

(続)寄り、前場引けデイトレ

データ取得の自動化完了!

昨日の記事を読まれた、たけやんさんから貴重なコメントを頂きました。
『株価の書き込み部分は手動ということですか? たぶん、VBAで前場と後場の株価も自動で取得できるかもしれないですね。 』

あ、そうか!
私はとりあえず、あるデイトレStrを前場引けで手仕舞ったらどのようなパフォーマンスになるのか?が知りたくて最初は手入力していました。しかし、これは面倒なので昨日のように手入力する工程を単純に自動化したわけです。

それで、HTMLタグを利用して自動的にネット上のデータを取得できることを忘れていました。そこで、再度プログラミングし直して、自動的に前場引け、後場始値のデータが取得できるようになりました。これってすごく楽ちん。

絵づら的には、2つのモニターに、IEとエクセルが立ち上がっており、IE画面の銘柄が自動的に変わっていき、その都度、エクセルに前場引けの数値が打ち込まれていくって感じです。1データ取るのに、3~4秒といったところ。ただ、株式分割した銘柄があるので、それは、後で修正する必要があります。

それで、デイトレStrの検証を400データほどやってみました。
結果は、収益が3割減、DDも3.5割減でした。つまり、前場引けしなくても、仕掛け金額を7割にしたことと同じで、このStrでの効果はありませんでした。

なぜこうなるのかは、高値圏順張りは、S高持越しによる利益が収益の柱になっており、前場引けすることで、後場からS高に張り付く銘柄を拾うことができないからです。
つまり、元々のStrは後場まで持ち越し、大きな損失を被るリスクを犯して、S高という果実を取りに行っているわけです。

ただし、逆の言い方をすれば、仕掛け金額を少し増やせば、前場で勝負が付き、同じような収益が望めるわけですから、どちらがいいかということになります。

まあ、今回は1Strだけの検証ですので、このような結果でしたが、いろいろと興味のあるStrを作る楽しみはありますね。
また、前場引け仕掛け、大引け手仕舞い、のパターンも検証できます。特に大きく動く銘柄の検証で何かよいStrができるかもしれません。これからも検証を続けていきたいと思います。

≪補足≫
今回の自動化コードはたけやんさんからのアイデアなので非公開とさせていただきます。


ポチっとしていただき、パチ(拍手)して頂くとやる気モリモリです。m(__)m

株式システムトレード ブログランキングへ
にほんブログ村 株ブログ 株 自動売買へ
にほんブログ村

株システムトレードソフトイザナミ

寄り、前場引けデイトレ

以前デイトレ戦略neoというタイトルでデイトレ戦略を開発中と書いていました。
その後の経過ですが、W指値の疑似検証などを使って検証していますが、日足ベースより良い結果がえられません。

そもそも、イザナミを使って、デイトレStrを作る場合、
① 寄付き仕掛けで、利確損切りを指値OR逆差値で設定し、未成就の場合引け手仕舞い
② 指値OR逆差値で仕掛け、引け手仕舞い
③ 寄り引けで、仕掛け、手仕舞い

の3パターンしかありません。そして、この大引け手仕舞いしかできないことで、含み益がガンガン減っていくことにもなりがちです。

そこで、
④ 寄り仕掛け、前場引け手仕舞い

ができないものか?イメージとしては、前場上げた段階で手仕舞し、後場下げによる含み益の減少を食い止めるというものです。

2013年~2015年は高値圏順張りでは、前場上げても後場はそれほど下がりませんでしたが、2016年から、前場上げて後場下がるパターンが多くなってきています。そこで前場の含み益だけを取りに行く発想です。

そして検証するためのプログラムを組んでいます。まだ、検証は途中段階ですが、期待値は微減でDDは大幅縮小です。また、検証数が少ないので実用には至りませんが、しばらく検証と研究を重ねていこうと思います。

検証方法は少しややこしいのですが概略を記載します。
エクセル VBAのInternetExplorerオブジェクトを使ってインタネットエクスプローラを制御する方法です。

① イザナミで使えそうなベースストラテジを作る。
② 取引一覧をエクセルに貼付ける。
『株価データサイト k-db.com』の前場後場データを活用する。
http://k-db.com/stocks/〇〇〇〇-T/4h(〇は証券コード)
④ 別画面に上記サイトを表示させておく(デュアルモニタ必要)
⑤ エクセル上に張り付けたベースストラテジデータのC列をダブルクリックする。
⑥ 別モニターに表示させた『株価データサイト k-db.com』前場後場データが表示される。
⑦ 前場後場データが検証データの日付になるように、スクロール回数を、エクセル上の任意セルに記入しておく
⑧ マウスが電場後場データの画面をスクロールし指定の日付欄が表示される。
⑨ 該当日の前場終値データをエクセルに書き込むことを繰り返す。

なおVBAでインターネットエクスプローラを使う場合、参照設定で下記のライブラリを登録しておく必要があります。
Microsoft HTML Object Library
Microsoft Internet Controls

≪株価データサイトk-db.com≫
前場後場データ



エクセル画面


WOOKBOOK.png

宣言部分 
コード① 


≪注意≫
① コード記載は躊躇しましたが、一応載せておきます。但しコードへのご質問はお受けできません。
② コード記載例はあくまで私のパソコンに最適化されたものであり、そのままでは使えません。使う場合は各自カスタマイズしてください。
≪補足≫
私はVBAによるインターネットエクスプローラ制御は以下のサイトで習得しました。
http://www.vba-ie.net/


ポチっとしていただき、パチ(拍手)して頂くとやる気モリモリです。m(__)m

株式システムトレード ブログランキングへ
にほんブログ村 株ブログ 株 自動売買へ
にほんブログ村

株システムトレードソフトイザナミ