管理者ページ
日経225オプション取引で1億円を稼ぐまで 2009年12月
fc2ブログ

2009/11 |  12345678910111213141516171819202122232425262728293031 | 2010/01

この記事はブロとものみ閲覧できます
スポンサーサイト



日本の証券会社を利用してCME日経先物の売買を行う際の証拠金が、大証の証拠金と大きく違うのですがなぜなんでしょう?

どれぐらい違うのかというと松井証券利用の場合
・大証の日経225先物(ラージ1枚) 429,000円
・CME日経先物円建て(ミニ5枚分) 625,000円(日経ラージ1枚に換算すると1,430,000円)
なんと3倍以上の差がありますね

取引所が要求している証拠金ですが、大証はSPANで計算していて現在のプライススキャンレンジは390,000円
CMEですが、CME日経先物円建て(ミニ5枚分)のイニシャル証拠金は625,000円(維持は500,000円)のようです
http://www.cmegroup.com/wrappedpages/clearing/pbrates/performancebond.html?group=CME INDEX FUTURES&type=OutrightRates&h=2&reporttype=marginrate

で、わかったこと
CME日経先物を日本の証券会社で取引する場合に、異様に証拠金が高いのは、証券会社がぼったくりなわけではなくて、取引所が要求している証拠金がそうなっているということです。

わからないこと
CMEはSPANを開発した本家本元ですが、そのCMEはSPANを使っていないのでしょうか?それとも大証とCMEでは運用が異なるんでしょうか?
※大証の運用(プライススキャンレンジの決定方法):4週間の最大の価格変動 と 24週間で2番目の価格変動 の大きい方より計算

何が言いたいかというと…
最近、いくつかの証券会社で上限枚数を厳しくしたり証拠金を引き上げている会社があります。また、FXのレバレッジ規制がCFDや先物に波及するんじゃないかという不安もあります。大証の証拠金決定の仕組みは合理的だと思っていたのですが、さらに合理的だと思っていたCMEと大きな差があることがわかりました。近い将来、大証の証拠金が引き上げられる可能性は思ったより高いかもしれません。
先週末にIVの時間推移のグラフの記事の中で、データ記録の自動化の対応中のようなことを書きましたがこれが思いのほか時間がかかりました。で、やっと骨格ができたので嬉しさもあり記事をアップします。

これまでの私のマクロに関する知識はといえば、「マクロの記録」で操作を記録し、記録したソースを少し修正する程度のスキルでした。そのスキルをベースにして、データ自動記録のマクロをつくるのは少々荷が重かったようです。
最初は、いつものように「マクロの記録」を使って処理を作ったのですが、この処理をベースに自動化をすると、不具合だらけになりました。
例えば次のような不具合がありました。
・シートを切り替えると動かない
・ならばシート名を指定して実行しても動かない
 (メンテナンス性向上のため、セルに名前をつけてそれを使用するようにしてたんですが、それがうまくない)
・で、セルの名前でなく直接指定すると動くようになったものの、記録処理が走るとシートが切り替わってしまう
などなどの不具合でした。
ネットを検索すると、サンプルがいくつか出てくるのですが、難しくて理解できず、理解できないから使うことも出来ず…

そんなわけで、一念発起してVBAをある程度ちゃんと勉強してみました。
特に役に立ったのは次のサイトでした。
http://www.happy2-island.com/excelsmile/
  ↑概略をつかむのにとっても良いサイトでした
http://excelvba.pc-users.net/index.html
  ↑体系的に書かれています。リファレンスとしても良さそうです。

そして、その知識をもとにしてやっと動くところまでこぎつけました。
とっても嬉しいです(そういうわけで、ブログアップです)

処理のポイント
・ログ記録シートとグラフを分離(別々のシートにわけ、メンテナンス性を向上させた(つもり))
・処理の定期的な実行は、 Application.OnTime を使って実現した
・Application.CutCopyMode = False を使って、クリップボードのデータをクリアする処理を入れた
 (入れてないと変なコピペがされたり処理が動かなかったりします)
・Application.ScreenUpdating で、画面更新を行わずに処理をするようにした
 (これを入れると処理中に変なシート切り替わりがなくなります)

欠点なんですが
・手動のコピペなどの処理を実施中に、この処理が流れると、クリップボードがクリアされてコピペできなくなる
※他にもあるかもしれませんが、現在のところ顕在化していません

参考:今回作ったソースの骨格は以下の通り
※なにせ初心者が作ったソースですので、不具合あっても責任持てませんが… <(_ _)>


Option Explicit

Public mytime As Date



Sub LOG_取得時刻セット()
mytime = Now + TimeValue("00:05:00")
Application.OnTime mytime, "LOG_取得処理_親"
End Sub



Sub LOG_取得終了()
Application.OnTime mytime, "LOG_取得処理_親", , False
End Sub



Sub LOG_取得処理_親()
Application.Run "LOG_取得処理実施"
Call LOG_取得時刻セット
End Sub




Sub LOG_取得処理実施()
'
' LOG_取得処理実施 Macro
'
Application.ScreenUpdating = False
Application.CutCopyMode = False
Worksheets("ログ").Range("G:G").Insert
Worksheets("ログ").Range("F:F").Copy
Worksheets("ログ").Range("G:G").PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Application.ScreenUpdating = True

End Sub

久々の更新です。
投資ツールを作り直そうと思ったのが9月の終わりぐらいで、実際に作り始めたのが10月の頭ぐらいだったかなぁ、その時点からもう3か月近く経っています。ですが、まだまだやりたいことがたくさんあって、ボチボチと機能追加をしている最中です。

で、今回作成中なのは、ATMに対応する仮想の権利行使価格を設定して、そのIVを計算するというものです。(ACさんやすみパパさんがやっているようなことを真似してみました)。とりあえず、データを取得してグラフを描くところまで完成しました。次はこれに一定時間毎に自動的にデータ記録を行う仕組みを実装しようと思います。今日中に完成させたいですが、出来るかな?

ボラIX時間推移