平凡な会社員のトレード日誌

日本株のシステムトレード記録。年率50%を目標にExcelを使い自動売買しています。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

初期処理

処理を始める前に「Chart」シートに残っているチャートをすべてクリアする処理です。
この処理は入れておいた方が便利でしょう。
【“初期処理”の続きを読む】
スポンサーサイト
  1. 2007/03/26(月) 23:26:16|
  2. Excelチャート
  3. | トラックバック:0
  4. | コメント:0

グラフ処理

2つのグラフを重ね合わせるので、グラフのタイトルと軸の範囲・フォントとグラフの大きさを合わせる処理をします。
【“グラフ処理”の続きを読む】
  1. 2007/03/25(日) 16:59:27|
  2. Excelチャート
  3. | トラックバック:0
  4. | コメント:0

グラフ元データ処理

グラフにする日足データを「work」シートのグラフデータ部分に貼り付けます。この時に前の「データ範囲」処理で調べた「日足」シートの位置を使います。
エントリする前の状況や手仕舞いした後の状況をグラフに表示させたいので、グラフの範囲を広げます。
移動平均線を計算したり、エントリ・手仕舞い金額をグラフデータ部分にセットします。
元データを変更したら、そのデータをグラフに反映させます。
【“グラフ元データ処理”の続きを読む】
  1. 2007/03/24(土) 16:51:10|
  2. Excelチャート
  3. | トラックバック:0
  4. | コメント:0

データ範囲

「売買記録」シートから、エントリ日と手仕舞い日が「日足」シートのどの位置にあるか調べます。
【“データ範囲”の続きを読む】
  1. 2007/03/24(土) 01:15:48|
  2. Excelチャート
  3. | トラックバック:0
  4. | コメント:0

処理概要

1.該当銘柄の日足データを読み込む(CSV処理)
2.日足データのどの部分をグラフにするか範囲を特定する(データ範囲)
3.グラフの元データを置き換え、グラフを更新する(グラフ元データ処理)
4.グラフの大きさ・軸・タイトル等の変更(グラフ処理)
5.グラフをコピーし図の形でシートに貼り付け
尚、日足データの読み込み方法は以前ご紹介しましたので今回は省略します。
【“処理概要”の続きを読む】
  1. 2007/03/23(金) 00:55:23|
  2. Excelチャート
  3. | トラックバック:0
  4. | コメント:0

事前準備

①元になるグラフ
Excel表のグラフ機能を使って自分でグラフが作れることを前提として話を進めます。
今回の検証結果を確認するために必要なグラフは、4本値のローソク足グラフと移動平均線・エントリ金額・手仕舞い金額を表示する折れ線グラフです。
新しいバージョンのExcelは、一つのグラフにローソク足と折れ線グラフを一緒に表示できるようですが、私のExcel(Excel2002)ではできないので、それぞれ作成します。同じ大きさで作成し、重ね合わせて一つのグラフのように見せるという方法を使います。(上に重ねる方のグラフの領域を「なし」にします)
適当に元データを作り、グラフを作って下さい。(「work」というシート名にしました)

②Excelシート
「日足」「売買記録」「グラフ」のシートを用意します。
「日足」シートに日足データを読み込みます。(日付の欄は、日付の書式に変更しておいて下さい)
「売買記録」シートには、エントリ金額等の情報をあらかじめ入力しておきます。
(今回検証した結果をそのまま使えるようにした方が楽です)
「グラフ」シートにグラフを一覧表示させます。
【“事前準備”の続きを読む】
  1. 2007/03/21(水) 12:39:53|
  2. Excelチャート
  3. | トラックバック:0
  4. | コメント:0

はじめに

検証内容のチェックとブラッシュアップのため、検証結果をチャートで確認することは必要不可欠だと思います。
Excelマクロで一気にチャートを作る方法をご紹介します。
Excelでは、こんな感じのチャートが作れます。
ExcelChart.gif

  1. 2007/03/20(火) 23:03:19|
  2. Excelチャート
  3. | トラックバック:0
  4. | コメント:0

検証結果

今回の検証結果です。
20070318170603.gif

結果は、今ひとつですね・・・
「売買記録」シートからExcel関数を使ってこれは計算させています。(SUM、SUMIF、COUNT、COUNTIF関数)
最後に注意点ですが、分割情報や単位株の変更等は反映されていないので自分で補正してやる必要があります。今回は、8766ミレア、8603日興、9984ソフトバンクを補正しました。(まだ他にもあるかもしれません^^;)
ちなみに処理時間は8分位でした。(Pen4,3.0Gのマシンです)OmegaChartをCSVに変換するのは5分位です。
  1. 2007/03/19(月) 21:27:10|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

その他

その他として、2~3ご紹介します。

1.マクロを実行した時、画面表示が動かないようにする
2.ステータスバー(画面の左下の部分)にメッセージを出す
3.画面に確認メッセージを出す。
【“その他”の続きを読む】
  1. 2007/03/18(日) 22:58:25|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

売買処理(脱出処理)

「売買記録」シートに日付、手仕舞い金額、損益を入力(セット)します。
私の場合、後で分析する時に楽なので勝ち(1)負け(0)をこの時セットしています。
【“売買処理(脱出処理)”の続きを読む】
  1. 2007/03/18(日) 18:19:43|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

売買処理(エントリ処理)

「売買記録」シートに銘柄コード、日付、買い、株数、エントリ金額を入力(セット)します。
エントリ金額は、始値の場合とセットされた高値の場合と2パターンあります。
また、株数の計算も行います。
尚、OmegaChartから出力されてCSVファイルは株価が100分の1になっているので変換しています。
【“売買処理(エントリ処理)”の続きを読む】
  1. 2007/03/17(土) 23:59:59|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

売買処理

読み込んだ日足データを対象期間の最初から1日ずつ処理していきます。
前日の状態により4パターンに分かれます。

エントリしていない場合
エントリ条件(25MA
エントリ条件に合致している場合
セットされた高値を当日の高値が超えていればエントリ処理を行います。

エントリ(ホールド)している場合
手仕舞い条件(LowMA>終値)に当てはまるかどうかを判定します。

手仕舞い条件に合致している場合
当日始値で手仕舞う処理を行います。

日足データが最後になった時にエントリした状態であった場合は、最後の日の始値で手仕舞うようにしています。
【“売買処理”の続きを読む】
  1. 2007/03/16(金) 23:32:33|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

CSV処理

該当銘柄のCSVファイルをExcelで開き、データを「日足」シートにコピペします。
マクロの自動記録機能でプログラムを自動生成して、それを改造して作りました。
【“CSV処理”の続きを読む】
  1. 2007/03/15(木) 23:30:00|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

初期処理

実際の処理に入る前に行う準備です。
今回の場合、2つの処理を行います。
一つ目は、「パラメータ」シートに設定した内容をプログラムで使えるように変数にセットします。
二つ目は、「売買記録」シートのデータクリアをします。(マクロを何回も実行すると思いますのでデータをクリアしておきます)
【“初期処理”の続きを読む】
  1. 2007/03/14(水) 23:32:15|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

処理の流れ

処理の流れは次の通りです。
1.パラメータのセット(初期処理)
2.該当銘柄の日足データを読み込み、日足シートに書き込む(CSV処理)
3.検証条件での売買処理を行う(売買処理)
4.すべての銘柄が終わるまで上記2、3を繰り返す
【“処理の流れ”の続きを読む】
  1. 2007/03/13(火) 21:55:19|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

事前に準備するデータ

今回の検証を始めるに当たって準備するものです。

1.225銘柄の銘柄コード、単位株数
2.日足データ
3.Excelシート
4.指標、対象期間を設定するシート
【“事前に準備するデータ”の続きを読む】
  1. 2007/03/12(月) 23:27:28|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

トレード事例

今回の検証条件をチャートで示すとこうなります。
sampleChart.gif

水色の縦線の日にLowMA(緑線)が25MA(赤線)を上回ります。
その時の過去の5日間の高値(赤横線)を超えたらエントリです。(緑丸)
手仕舞いは、終値がLowMAを下回った翌日です。(赤丸)
  1. 2007/03/12(月) 23:25:44|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

セミナー

こんなセミナーがあるみたいです。
だれか受講しないかな~
  1. 2007/03/12(月) 23:22:57|
  2. 日記
  3. | トラックバック:0
  4. | コメント:0

トレード手法

今回、検証するトレード手法は次の通りです。

対象:225銘柄
期間:2004年1月5日~2007年3月9日
条件:
エントリ(ロングのみとします)
1.25日間の終値の単純移動平均線(25MA)が5日間の安値の単純移動平均線(LowMA)を下回る
2.その時の過去5日間の高値を翌日以降に超えたらロングエントリ
3.25MAがLowMAを上回ったら、2.の条件はクリア
4.株数は投入金額が100万円に一番近い金額となる株数とする。
但し、最低単位株数でエントリしても100万円を超える場合は、最低単位株数とする。

手仕舞い
LowMAを終値で下回ったら翌日成行手仕舞い

自分でも検証したいと思っていた方法なので、ちょっと一般的ではないかもしれません・・・
  1. 2007/03/11(日) 20:00:00|
  2. Excel検証・フィルタ
  3. | トラックバック:1
  4. | コメント:0

はじめに

新しいトレード手法を採用するかどうかは、まずは過去のデータでうまくいくかどうか検証することが大切だと思います。ひとつづつチャートを見ながら検証することも大切だと思いますが、ExcelVBAを使って大量のデータを検証することも大切だと思います。

今回は、あるトレード手法をExcelVBAを使って検証する方法をご紹介したいと思います。
  1. 2007/03/11(日) 19:52:13|
  2. Excel検証・フィルタ
  3. | トラックバック:0
  4. | コメント:0

その他

その他、自動売買のVBAを作った時に使った関数等をご紹介します。

時刻により処理を制御する
例えば、後場だけ処理を行いたいなら、以下のように現在時刻を表すTimeと比較を行います。
if Time >= TimeValue("12:30:00") then 処理内容

指定した時刻にマクロを実行する
私の場合、10分間隔でマクロを実行しているのでこの処理を使っています。
Application.OnTime TimeValue("17:00:00"), "my_Procedure"

エラーが起きても処理を止めない
この処理を入れていないと何かエラーがあるとVBAがそこで止まったままになってしまいます。ほとんどの場合、止まってしまうと困ると思いますので、この処理を入れておきます。
On Error Resume Next とすればエラーが起こっても処理が実行されます。
On Error GoTo EMSG とすれば、エラーが起こった時、ラベル(この場合EMSG)の処理が実行されます。
私の場合、エラーが起こった時間と処理部分をTEXTファイルに書き出して処理を続行させています。

  1. 2007/03/10(土) 23:58:58|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

注意事項

InternetExplorerの表示された内容を元にプログラムで処理を制御するので、必ずInternetExplorerの表示が終わるのを待つプログラム(処理)を入れる

InternetExplorerの表示を更新するような処理を組み込む

HPがリニューアルしたらプログラムの変更が必要です。当然のことながら、HTMLの該当する部分が変更になった場合は、VBAも変更する必要があります。
【“注意事項”の続きを読む】
  1. 2007/03/10(土) 23:41:22|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

楽天RSS

楽天証券のRSSを使ってリアルタイムデータを取得しているんですが、Excelに式をそのまま入力する方法と、VBAにデータ取得方法を組み込む方法があります。
以前は、式を入力しておく方法だとデータ更新がされない場合がありましたが、最近は安定しているようです。 【“楽天RSS”の続きを読む】
  1. 2007/03/10(土) 23:30:30|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

楽天証券の場合

楽天証券の場合、HPがフレーム構成になっているため、Eトレード証券のように簡単にはいきません。
【“楽天証券の場合”の続きを読む】
  1. 2007/03/10(土) 23:24:10|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

注文

自分の口座が表示された後は、注文の種類を選ぶことになります。
Eトレード証券の場合、「取引」タブを押し、画面が変わったら注文の種類・銘柄コード・株数等を指定します。
【“注文”の続きを読む】
  1. 2007/03/09(金) 23:44:14|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

ユーザID・パスワードの入力

HPを立ち上げると通常、ユーザIDとパスワードを入力し、ログインボタンを押すことになると思います。そのプログラムです。
【“ユーザID・パスワードの入力”の続きを読む】
  1. 2007/03/08(木) 22:57:09|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

証券会社のHPの立ち上げ

URLを事前に調べておきます。
(Eトレード証券の場合は、https://newtrading.etrade.ne.jp/ETGate)
ここでのポイントは、変数(この場合はobjIE)にInternetExplorerを指定することです。この変数の内容を解析しながら、以後プログラムしていきます。
解析の方法は、変数objIEをウォッチウィンドウに追加し、ステップ実行でデバックしながら中身を見ていくというものです。
結構地道な作業です・・・
【“証券会社のHPの立ち上げ”の続きを読む】
  1. 2007/03/07(水) 23:19:41|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

はじめに

一気にすべて書こうと思いましたが、ちょっと大変なので毎日少しずつ書いていこうと思います。最後まで書けたら読みやすいように順番をかえようと思いますので悪しからず・・・

まず、一番気になるのがこの部分でしょう。
売買サインがでたら証券会社のHPから自動的に発注するというものです。
私の方法は、証券会社のHPのソースコード(HTML)を解析し、データ入力やボタンを押すといった手動で行っている作業をプログラムで制御するというものです。

以下のようなことを書いていきたいと思います。
①証券会社のHPの立ち上げ
②ログイン
③取引の種類の選択
④銘柄コードの入力等

Eトレード証券を例として説明したいと思います。
  1. 2007/03/07(水) 22:27:17|
  2. Excel自動発注
  3. | トラックバック:0
  4. | コメント:0

ExcelVBAについて

株のシステムトレード・検証等でよく使うExcelVBAについて紹介したいと思います。

カテゴリは以下の3つです。

1.Excel自動発注
2.Excel検証・フィルタ
3.Excelチャート

なにぶん文系人間ですので、間違った表現等あるかもしれませんが、お許し下さい。
ご意見・ご要望等あればコメント頂ければ幸いです^^
  1. 2007/03/03(土) 16:25:09|
  2. あれこれ
  3. | トラックバック:1
  4. | コメント:0

0302ペーパー

4勝4敗。
そろそろ、この検証も止めようかと思います。
パフォーマンスを上げるアイデアが浮かんできません^^;
データだけは取っておき、チャートのキャプチャは止めようかと思います。キャプチャするだけで、結構時間かかるというか、面倒なんですよね^^;
実トレの方が、やばい状況になってきたことと、別の検証をしているので時間がとれないないんですよねえ・・・
t0302j9437.gif

t0302j8227.gif

t0302j4555.gif

t0302j4967.gif

t0302j6274.gif

t0302j9370.gif

t0302j2670.gif

t0302j2678.gif

  1. 2007/03/02(金) 22:07:11|
  2. ペーパー
  3. | トラックバック:0
  4. | コメント:0
次のページ

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。