始めにお読み下さい!

右のサイドバーにカテゴリーで分けていますので、過去記事も読んで見て下さい。質問などがあれば、コメント欄からお願いします。

2008年01月29日

エクセルのシステムトレードからVBAを使って自動メール送信。@元外銀マン

お疲れ様です。。

今日は非常に寒かったですねぇ。

はやく、春がきてほしいものです・・・でも、この時期の温泉と鍋料理は最高ですね!

そんな事はさておき、先日までの作業でやっと、ボタン一つでエクセルのマーケットデータ
を更新する機能をシートに盛り込む事が出来ました。

今度は、自動でエクセルとVBAを組み合わせてシステムトレードの売買シグナルをメール
送信できないものかと試行錯誤しております。

現状でいけそうな方法は・・・

@ 普通にoutlookを使って、Sendmailメソッドというのを使用してメール送信

A 「BASP21(ASPの VBScript やVisual Basic、EXCEL VBAなどから使える汎用の
コンポーネント)」を使用してメールを送信

B 「CDO」という、マイクロソフト社が用意したものを使用してメールを送信


となるのですが、どうやら、一番使い勝手がよく安定性が高いのはA番のようです。

詳しくは他のページに譲りますが・・・A番はその「BASP21」というのをインストール
する必要があります。B番は、Win2000以降のバージョンでしたらインストール不要
です。@については、outlookを使うという意味では不安定っぽいですね。

ただ、上記の方法を今のExcelに機能として盛り込むにはまたまた、煮詰めに時間が
かかりそうです。

まぁ、気長にコーディングしていこうと思いますので、よろしくお願いします。
posted by THD at 19:43| Comment(0) | システムトレード入門 | このブログの読者になる | 更新情報をチェックする

2008年01月28日

インフォシークの為替データを自動でシステムトレードに抽出。@元外銀マン

前回は、ヤフーの為替データを引っ張るマクロをシステムトレードのシートに追加しました。

今回は、インフォシークの為替データを引っ張るマクロを追加します。

なんで、わざわざ二回に分けるかというと、データを引っ張る時の方法が違うからです。

ヤフーはWEBクエリーという機能に対応していて、それほど苦労せずにデータを引っ張
る事が出来ました。しかし、インフォシークのページはその機能に対応していません。

この場合は、ガチンコでインフォシークのページから必要な部分を見つけ出してきて引っ
張ってくるという、泥臭いけれども、結構応用がきくプログラムです。泥臭いだけに、
コーディングも、WEBクエリーを使った場合に比べて煩雑でわかりにくいものになって
います。

プログラムのフローだけを書くと・・・

@ エクセルのシートからデータの最終日と、本日の日を抽出

A それを元にインターネットエクスプローラーから、その日付のデータがあるインフォ
シークのページを開く

B そのページの目的のデータ(各日付での為替データ)を抽出してエクセルのシートに
貼り付ける

C 自分のシートに合うように形を整えて、貼り付け

となります。このB番の抽出する所が厄介で、少しコードを掲載すると・・・

With oIE.document.all
 For n = n2 To .Length - 1
 Select Case .Item(n).NodeName
Case "TH"
If IsDate(.Item(n).innerText) Then
ncol = 2
Sheets("Page_I").Select
Cells(nrow, 2).Value = .Item(n).innerText
End If
Case "TD"
Select Case ncol
Case 3
Sheets("Page_I").Select
Cells(nrow, 6).Value = .Item(n).innerText
Case 4
Sheets("Page_I").Select
Cells(nrow, 3).Value = .Item(n).innerText
Case 5
Sheets("Page_I").Select
Cells(nrow, 4).Value = .Item(n).innerText
Case 6
Sheets("Page_I").Select
Cells(nrow, 5).Value = .Item(n).innerText
ncol = 1
nrow = nrow + 1
End Select
Case Else
End Select
ncol = ncol + 1
Next
End With

こんな感じです。ページの内容を分析して、目的のデータがあるテーブルタグ(THとTD)
を検索して、THとTDがある部分を抽出する。

ただ、A番のページを開く命令で、何故か数秒間か待ってあげないと、ページを読み込む前
に処理が進んでしまい、データが空白になってしまいます。

ですので、

Application.Wait (Now + TimeValue("0:00:03"))

とかを途中に入れる事で対応しています。

・・・と、ヤフー(WEBクエリーを使用した方法)だと簡単なんですけどインフォシークは
ガチンコな抽出方法で結構大変です。そこまでして、インフォシークがよいのはデータの更新
が1日ヤフーより早いからですね。

ヤフーだと2日前のデータしか表示できませんが、インフォシークだと1日前のデータが抽出
できます。
posted by THD at 16:23| Comment(0) | システムトレード入門 | このブログの読者になる | 更新情報をチェックする

2008年01月25日

ヤフーの為替データを自動でシステムトレードに抽出。@元外銀マン

久しぶりの更新です!

システムトレードを作っていて、億劫に思うのが為替データの更新作業だと思います。

前回の更新から、2週間近くたちますが、その更新作業を自動化するプログラムを作成
しておりました!

具体的に、下記のような機能を目標としました。

●エクセルとVBAを使って作成したマクロで、ヤフーやインフォシークの為替の時系列データ
をダウンロードしエクセルに自動で貼り付けてくれる。

ヤフーの参照ページは、コチラ

ヤフーはWEBクエリーという機能を使う事でそれほど、苦労せずにデータを引き込める事に
成功しました!

イメージとしては、ヤフーのページ側が予め、システムトレードを実践している人等の為に、
エクセルとかにダウンロードできるように、コンテンツを用意しているという事です。

具体的なプログラムのフローは・・・

@ 為替の時系列データの最終更新日時を読み取る

A 更新日時から最新のデータをヤフーのページに読み込みにいく
  *WEBクエリー機能を使う。

B 読み取ったデータをエクセルのブランクページに貼り付け

C 貼り付けたデータを自分のデータにあうように加工

D 自分のシートに貼り付け

という具体です。ここで、少し問題になってくるのがA番のデータ読み込みの部分です。
ヤフーの為替の時系列データは、一回で50日分までしかデータを取得できません。

ですから、1年分のデータをまとめてシステムトレードのシートに読み込むには、何度も
データを読み込みにいく作業が必要になってきます。

その何度もデータを読みにいく作業をVBAのLoop文というプログラム方法を用いて
再現したのがコチラです。

mkt01.JPG

mkt02.JPG

といっても、更新している状況は見えませんが(笑)

実際のコーディング作業風景は・・・

mkt03.JPG

長くなってきたので、今回はこのあたりで!

次回は、インフォシーク編です。
posted by THD at 12:42| Comment(0) | システムトレード入門 | このブログの読者になる | 更新情報をチェックする

2008年01月10日

移動平均線を使用したゴールデンクロスのシステムトレード

明けましておめでとう御座います!!すこし遅くなりましたが、
今年も一年よろしくお願いいたします。

早速ですが、新年一発目として、

”移動平均線を使用したゴールデンクロス”

の検証を、システムトレードを用いて行いたいと思います。

*移動平均線の説明はコチラ
*ゴールデンクロスの説明はコチラ


検証の前提条件は・・・

 ● 長期と短期の移動平均線が交わった所で売買サイン発生
 ● トレーリングストップ
 ● 相場は、ドル円為替の日足の終値を採用(過去8年間にて検証)
 ● ゴールデンクロス(デッドクロス)のシグナルが発生した、次の日の
相場の始値で10万通貨のポジションを取る
 ● 次のサインが出るまで、ポジションは持ち続ける


となります。短期や長期の移動平均線等のパラメーターに対して、
約700パターンにわたって検証しました。

その700パターンの中でプロフィット・ファクター
最もよかった結果は・・・

idou_golden01.jpg

となります。非常に良いパフォーマンスなのですが、一つだけ重大な
欠陥があります。それは・・・

「売買回数が少なすぎる」

という事です。また、長期・短期の移動平均線をタッタの1日ずらした所、

idou_golden02.jpg

後半の2005年からのパフォーマンスが全く悪くなってしまいます。
これでは、少しの環境の変化があれば、全く機能しなくなってしまう恐れ
があり、使えそうもありません。

なので、今度は、売買回数が100回以上で、最もプロフィット・
ファクターがよいものを抽出すると・・・

idou_golden03.jpg

となり、その他にも色々試しましたが、売買回数に反比例するかの
如くパフォーマンスは悪くなりました。

まぁ、移動平均線とゴールデンクロスだけでドル円に投資してぼろ儲け
した人の話を聞いた事がないのを実証した形になりましたね。。
私のまわりにタマタマいないだけかもしれませんが・・・

とにもかくにも、色々な売買手法の過去のパフォーマンスを自分で
確認する事ができるのがシステムトレードのいい所でしょう。
posted by THD at 00:00| Comment(0) | システムトレード入門 | このブログの読者になる | 更新情報をチェックする

2008年01月08日

RSIとは

RSIとは

1978年に、Welles Wilder氏が発表したオシレーター分析手法で、買
われ過ぎ、売られすぎを相対的に見る分析手法です。

為替レートの市場価格の乖離を示す線を0から100の領域内で表示
し、通常のオシレーター系指標では、価格の急激な変動に対し線が歪
められてしまう欠点を解決している事が特徴です。

RSI.jpg<

RSIの計算式

実際に、RSIを計算するには、

 ● RSI(%) = A ÷(A + B )×100

   *A = N日間の上昇幅の平均
   (N日間のうち上昇して終った日の上昇幅の合計をNで割る)

   *B = N日間の下落幅の平均(N日間のうち下落して終った日
   の下落幅の合計をNで割る)

   *上昇の定義前日の引けと当日の引けを比較し、単純に上昇
   していればカウントします。

   *ザラ場における高値・安値(ひげ)は計算に入れない。

となります。


RSIの基本的な使い方

RSI(オシレーターライン)の基本的な見方は、

・70以上は買われ過ぎ、
・30以下は売られ過ぎ

と判断し、逆張りの目安として利用されています。ここでは、具体
的にRSIの式に対して、N=14日とした仮定すると、14日の
間全て上昇した場合にはBはゼロとなり、RSIは100%となりま
す(下記式参照)。

 ● B = 0

   → RSI = A ÷ A × 100 = 100 %

反対に、全て下落した場合にはAがゼロとなり、RSIは0%となり
ます(下記式参照)。

 ● A = 0

   → RSI = 0 ÷ B × 100 = 0 %

上記にて、RSIが70%以上は買われ過ぎ、30%以下は売られ過ぎ
と解説しましたが、場合によっては、80%と20%、又は75%と
25%と使う人もいます。

指標として使う上では、重要なのは、「逆行」と呼ばれる現象です。

その現象とは・・・

RSIが70以上や30以下の時、相場の動きとRSIが逆の動きを見せる場合に、

 ● 価格が上昇していてもRSI が反落する場合 → 上昇力は弱い

 ● 価格が下落していてもRSI が上昇している場合 → 上昇力が強い

と使う事ができます。



RSIの注意点

為替相場がトレンドに沿った動きを見せているときには誤ったシグナル
を出すことがあり、注意が必要です。RSIは逆バリ手法の代表格
の指標といえますが、予想以上に為替相場のトレンドが強かったり
すると、RSIが80% 以上に長くへばりつく事もあります。

逆に30%以下にへばりつく場合もあります。

そういう時は、RSIは正確なシグナルを出すとは限りません。

なるべくそうならないよう、9日と20日のRSIオシレーターラ
インを併用して、両者が交差した時点(ゴールデンクロス)を売買
シグナルにするといった技術も併用していく必要があります。
posted by THD at 14:55| Comment(0) | テクニカル分析入門 | このブログの読者になる | 更新情報をチェックする

MACDとは

MACDとは

MACDの正式名称は、「Moving Average Convergence Divergence」
と呼ばれ、トレンド系の有名な指標です。

MACDは、2本の指数平滑移動平均(EMA)を使用します。

macd01.JPG

指数平滑移動平均とは?

指数平滑移動平均(EMA)とは、通常の移動平均に対して、株価
の平均のつけ方に重要度を加味したものです。

算出方法は・・・

● EMA = 前日のEMA + A x ( 当日の株価 - 前日のEMA )

     A ・・・ 2 / ( n+1 )
     n ・・・ 平均期間


右脳で理解するのは難しいですが、ようは、最新の株価に一番重みをつ
けて平均をとったものです。反対に、過去の株価を軽視します。

MACDの使い方

MACDは、上記で説明した2本の指数平滑移動平均(EMA)から、
売りと買いのシグナルを判断します。

一般的には、

・ 2本のEMAが、−圏内でゴールデンクロス → 買いのサイン

値が0よりも下のときに、MACDがシグナルを上に突き抜けたら買いです。

・ 2本のEMAが、+圏内でデッドクロス  → 売りのサイン

値が0よりも上のときに、MACDがシグナルを下に突き抜けたら売りです。
具体的には、下図を見ると、売買サインと値動きのタイミングが高い
確率で一致していることがわかります。

macd02.JPG

MACDの注意点

MACDの注意点としては、売買のサインが出現するポイントが、
他のトレンド系の指標に比べて極わずかながら、サインの出るタイ
ミング遅いです。ですので、為替相場がボックス相場等の時には、
注意が必要です。

サインが発生してから、行動を起こしても、既に為替相場が上昇した
後で、買った瞬間から下がる事も考えられます。
posted by THD at 14:36| Comment(0) | テクニカル分析入門 | このブログの読者になる | 更新情報をチェックする

ゴールデンクロスとは

ゴールデンクロスとは短期の移動平均線が、長期の移動平均線を、
下から上に突き抜ける形に交差している状態を、「ゴールデンクロス」
といいます(下図参照)。

golden_idou02.jpg

このゴールデンクロスが出ることは、為替レートがこれから上昇して
いくと考えるのがセオリーになっており、「買いのサインが出ている」
と言えます。

反対に、長期移動平均線が短期移動平均線と交差する局面をデッドクロス
と呼び、為替レートの値下がり期待が大きい状態を示しており、セオリー
では「売りのサインが出ている」となります。

ゴールデンクロスの元になる移動平均線は、前章にも掲載した通り、
特定期間内の為替レートを平均化し、為替レートの変動を滑らかにす
る事で、トレンドの流れを見やすくするツールです。

トレンドフォロー型の指標ですので、トレンドが長期にわたって形成
される場合に最も有効ですが、反対にレンジ内での小幅な値動きに対
しては弱いという欠点があります。

注意すべきゴールデンクロス例

ゴールデンクロスを形成する時の状況によって異なるのです。その
状況は大きく3つあります。

(1) 長期移動平均線が上昇中で、それに対して短期移動平均線が
突き抜けたとき。

この場合は、為替レ−トのは上昇していく確率が高いのですが、
短期移動平均線の上昇が急すぎると、上昇も短期的に終わり、急落
する可能性もあります。逆に、短期と長期の移動平均線がゆっくり
と上昇している場合、ゆっくりと長期的な為替レートの上昇が期待でき
ます。

(2) 長期移動平均線がほぼ横ばいのときに、短期移動平均線が突
き抜けたとき。

この場合は、為替レートの大幅な上昇はあまり期待できません。その後
はもみ合いが続いたり、下落に転じる場合もあります。

(3) 長期移動平均線が下向きのときに、短期移動平均線が突き抜け
たとき。

この場合は、長期が短期の移動平均線を上から下に抜いてしまったと
いう感じです。それまで為替レートの下降が続いていたので、株価の上昇
に勢いはあまりありません。このような場合は、注意が必要です。

買ってもよいゴールデンクロス例

それは、為替レートが大きく下落して「横ばい」を続けた後に出た「ゴ
ールデンクロス」です。為替レートが横ばいで動いたことで、短期と
長期の2本の移動平均線が接近します。この状態で為替レートが上昇し
始めると、短期の移動平均線がすぐに長期の移動平均線と交わって、
「ゴールデンクロス」があらわれます。

そして、為替レートを下げていたところで推移していたことから、
「ゴールデンクロス」があらわれたときには、為替レートはそれほど上
昇していないので「買いサイン」といえます。これは、上記タイプの
(2)に似ているようですが、その前に暴落を経験してから「横ばい」
というのがキーといえるでしょう。

また、横ばい期間が長かったということは、為替レートが動く材料
がなかったということです。そこで為替レートが上昇し始めたとい
うことは、何か新しい上昇材料・事件が出てきたと考えられますの
で、横ばい期間が長いほど上昇率が高くなります。

買ってはいけないゴールデンクロス例

一方、急落した後に、急騰して切り返すようなV字型の上昇であらわ
れた「ゴールデンクロス」は、「買ってはいけないゴールデンクロス」
です。

為替レートが急に大きく動いたときには、直近の為替レートの影響を
受けやすい短期の移動平均線でさえ為替レートの動きについていけず、
移動平均線が為替レートと離れてしまいます。このため、急落後の急
騰では、「ゴールデンクロス」が遅れてあらわれることが多く、
「ゴールデンクロス」が出現したときには、既に為替レートが上昇し
た後となってしまいがちです。

このように実際の上昇タイミングとズレてしまうため、急落急騰時に
あらわれたゴールデンクロスは「買ってはいけない」となります。
つまり、

●『為替レートが下がった後の横ばい期間で出た“ゴールデンクロス”
は使える』

●『為替レートが急落後に急騰して出た“ゴールデンクロス”は使えない』

となります。

ゴールデンクロスまとめ

・“ゴールデンクロス”は為替レート上昇、“デッドクロス”は
為替レート下落のサイン。

・為替レートが下がった後の横ばい期間で出た“ゴールデンクロス”
は買いチャンス。

・ 急落後の急騰タイミングで出た“ゴールデンクロス”は使えない。

・ 初心者はまずは“ゴールデンクロス”から。
posted by THD at 10:58| Comment(0) | テクニカル分析入門 | このブログの読者になる | 更新情報をチェックする

移動平均線とは

まず、移動平均線とは、一定期間の為替レートの平均値を毎日計算し、
それをグラフに描いた物です。平均値が移動していくことから、移動
平均線と呼ばれています。

平均をとる期間によって、13週移動平均線、25週移動平均線などと
呼ばれています。具体的には、下図のチャートを参照してみてください。

idou01.jpg

チャート上に赤い線と緑の線があります。これが、「移動平均線」です。

通常のチャート・ブックなどでは、日足の場合は6日移動平均線と
25日移動平均線、週足の場合は13週移動平均線と26週移動平均線が
使われることが多いです。

上図にて紹介したYahooファイナンスのグラフでも13週線と26週線が
使われています。

為替レートが移動平均線と同じような動きをすれば、平均的な動きをして
いるということになります。逆に、為替レートは移動平均線から離れれば
離れるほど、異常な動きをしているということになります。

特別な材料が出てくれば当然過去の動きとは違ってきますが、それほど
の材料もないのに、為替レートが移動平均線から離れていくということは、
為替レートが行き過ぎている、と判断できます。
posted by THD at 10:25| Comment(0) | テクニカル分析入門 | このブログの読者になる | 更新情報をチェックする

2008年01月07日

ドローダウン(システムトレード用語)

累計損益が最大になるポイントでのマイナス値です。資金曲線のグラフ
が、最もガケみたいに右肩下がりになっているポイントで、どれだけ損
をするかの指標です(下図参照)。

syst07.jpg

これが、少ないほど優れたシステムです。重要な指標の一つになります。
ドローダウンが小さければ小さいほど、負けが込む事が少ないシステムと
いう事で、運用時の精神的負担を減らしてくれます。
posted by THD at 01:49| Comment(0) | システムトレード用語集 | このブログの読者になる | 更新情報をチェックする

平均損失(システムトレード用語)

1回あたりのトレードの損益を平均した指標です。
posted by THD at 01:48| Comment(0) | システムトレード用語集 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。