2008年4月23日 (水)

つかいやすいもの

 今、idou,Progreを休んでいるけど、やめたのではない。ヤフーの時系列データが上手く入らない。それと、10銘柄以上を1つのブックにして3システムで3ブックの管理をしないといけない。

 それぞれのブックは、公開するために、それなりの体裁をよくしているけど、動作が遅い。僕の今の技術ではどうすることも出来ないし、しようとも思わない。

 実際の運用では小額資金なので5銘柄しかできない。だから、エクセル3ブックを開き10銘柄以上を絶えず監視する必要はない。

 それよりも1銘柄1ブックで両建てシステム、idou,Progreを入れ、必要なときにそれを開くようにしておけばよい。1銘柄だけだからVBAを使う必要もない。そして、デイトレの場合、ヤフーの20分遅れのデータ更新では間に合わない。

 それで今週から、その3システムを1つにしたエクセルブックを使っています。

        ********

 テスト 4日目

 今日は勝ちパターンの日でありました。

 しかしながらエントリーに失敗してしまいました。

 これがシステムトレードの難しいところです。今のままでは絶対にシステム通りには出来ません。

 JTも最期まで持っていれば+2,000だったのに、598Kで損切り(2:52)-2,000これは負けパターンです。

 システム  +7,000

 my-PF  +5,200

おもしろくなくても、しょぼくても、今は他の銘柄に手を出してはいけない。

| | コメント (0) | トラックバック (1)

2008年4月 6日 (日)

N日間最大最小の差つづき2

 つづき

 今まで逆張り系のシステムは作らなかったが、逆張り系のシステムも時には良いような気もする。

 なぜかと言えば、右肩上がりの綺麗なチャートの銘柄であれ、下げながら騰がるのである。下げトレンドも同じで、半値戻しとかがあって段々と下がるのだ。

 逆張りにストップをつけ、逆張りが機能しない時は自然にストップで守られ、その時は、今まで通り順張り系のシステムを使えばよい。

          *

 そんなこんなで今何とか逆張り系のシステムを作ることが出来ました。

 JT用に考えてみました。

運用日数 307日
初期資産 573000 円
最終資産 993000 円
取引回数 24回
勝率 70.83%
純損益率 73.3%
日率換算利回り 0.18%
月率換算利回り 3.72%
年率換算利回り 55.08%
シグナル発生頻度 7.84%
最大ドローダウン 6.24%
年率ボラティリティ 21.23%
年率シャープレシオ 2.59
プロフィットファクター 2.83
ペイオフレシオ 1.17
年間営業日数 245

 各部品はProgre02からそのまま使いました。売買サインの条件式を少し変えただけです。考え方はProgre02よりシンプルです。

  1年ちょっとの結果ですから、なんともいえませんが。チャートと今までの実際の取引で感じたそのままを、システムにしてみた結果です。大体これまでの動きを見ていたら5万から10万の上下を繰り返しています。

 取引頻度が7.84%と少ないですが、逆張りの場合それ程チャンスは無いように思います。(短期トレードの場合)

 これから何時ものように問題がないか調べていきます。

 つづく

| | コメント (1) | トラックバック (0)

2008年4月 5日 (土)

ヤフー時系列 テーブル番号の変更

 二日間データの更新をサボっていた。ちょっと凹んだぐらいで落ち込んでいたのではいけない。ブログでの成績の公表はしばらく止めようと思うけど、成績は毎日記録しておかないといけない。

 それで、気を取りなおしてヤフー時系列からデータを自動取得するのだけど、なにか変、数値データのところに文字が出る。

 webクエリのテーブル番号がまた変わったのだ

調べたら23から20になっていた。VBAを書き換えたら一発で直るのかと思ったけど、各個別銘柄のシートのクエリ編集でテーブル番号を書き換えないといけなかった。

 過去ログにwebクエリ編集,VBA,テーブル番号について書いているので詳しくはそれを見てください。簡単にデータや色んなことが取得できます。

 実際にしてみることです。

| | コメント (0) | トラックバック (0)

2007年12月 3日 (月)

エクセル 条件式の作り方(IF文)

 システムを自作するには、少なくともIF文が書けないと始まらない。

 でも難しく考えることはない。僕は、ツリーもフローチャートも作らない。兎に角、自分の思った通りに、動いてくれれば式の体裁はどうでも良い。

 それではどうしているかと言うと、あるアイデアが浮かんで、条件が増えれば前の条件IF文の前に新しい条件IFを足していくのである。(時には中に入れることも有る。)

 そして次第に複雑な条件式が出来上がる。

          *

 例えば

始めに     IF( 条件A 、 結果1 、結果2 )

が有ったとします。 

この意味は、条件Aの時、結果1でそれ以外は結果2となります。

■ 条件の追加  パターン1

 その後、あるアイデアが浮かんで条件Bの時、結果3、それ以外は始めの条件にしたいとします。  

IF( 条件B 、結果3 、IF( 条件A 、 結果1 、結果2 )

 となります。

 もちろん、条件A、条件B の中には不等式、等式、AND、OR、などが入ります。

■ 条件の追加  パターン2

 あるアイデアが浮かんで結果1が条件Bの時、結果3、それ以外結果1にしたい時も有ります。

IF( 条件A 、IF( 条件B 、結果3 、 結果1 、結果2 )

条件が増えると ) が増えますます。

■ 条件の追加  パターン3

 あるアイデアが浮かんで結果2が条件Bの時、結果3、それ以外結果2にしたい時も有ります。

 IF( 条件A 、 結果1 、IF( 条件B 、結果3 、 結果2 

この様にして、条件が次第に増えていきます。

すると次第に訳が分らなくなっていきます。またバグが出たり、自分が思っている結果(明らかに正しい結果)と明らかに違う結果(明らかに間違っている結果)が出る時があります。

■ 条件式の修正方法

 例えば売買サインの条件式のあるセルが条件を追加した後0になっていた、本当は5に成らないといけないのに、ところがその条件式には結果が10個も有って0に成る結果の部分が3個有るとします。売買サインの条件式は長いです。

 そこで、そのセルの条件式の結果をひとつ0から20に変えてやります。それでそのセルが20に成ればその結果を修正します。

 0のままであるなら次の結果を同じように試します。

修正とは、上の方法でその結果の部分に新しい条件を入れることです。

          *

 具体的に書いたらよいのですが、今のところこれで勘弁してください。

本心は、読者の皆さんと共通するものを持ちたいんです。へたれさん、umarさん、巨艦主義さん達なら、僕の軽いヒントで先に改良しているかもしれませんね。

 これからも、出来る限りオープンに行こうと思います。

 また良いアイデアがあれば、何方でもかまいません教えてください。

つづく

| | コメント (0) | トラックバック (1)

2007年12月 2日 (日)

移動平均の改良に成功

 前前から頭の中にアイデアはあった。その考えは移動平均の傾きに着目すればと言うものである。

 天井、底では少し前に移動平均の傾きが緩やかになり、移動平均を株価がまたぐときは案外大きく株価は動くものである(GU,GDもある)。だから、よっぽどの思いっきりがないと逃げ遅れて塩漬けになる。(完全自動なら容赦なく手仕舞うだろうが、そんな人は少ない。)

 それなら、サインが変わる(移動平均を株価がまたぐ)時を待たず傾きが緩やかになった時にポジションを解消すればよい。そしてサインが変わる(移動平均を株価がまたぐ)時を待ってサイン通りに参入すればよい。チャンスはいくらでもあるのだ。

 先週は、そういう意味で授業料を少し払ったが、良い勉強になった。

 まだ1銘柄しか検証してないので、確かなことは言えないけど、勝率も上がり、損益レシオも上がるようである。

           *

 今回の移動平均のシストレは、加工しない場合勝率が38%ぐらいで、損益レシオが3.00、PFが2.00となる。

 勝率さえ気にしなければ、そこそこの利益が出る、5銘柄全てがほとんど同じような成績を上げた。だから、Progre02より信頼性はあるといえる、手を加えなくとも十分使える。

 しかし、今回の加工によって勝率は50%・60%に上がった、損益レシオは2.3ぐらいに下がるが、PFは0.4、損益合計も1割以上あげることが出来る。たぶんドローダウンも小さくなるであろう。加工後の結果も5銘柄全てがほとんど同じような成績を上げた。

 良い結果がいくらでも出せるときの検証は楽しい。

 これをフルバージョンで検証してみたい。でも売りと買いで分けているので前の検証シートを直接には使えない。

 つづく

 

| | コメント (0) | トラックバック (1)

2007年10月 5日 (金)

ここからさらに発展させる

 10銘柄を同時に取引して上手くいく自信はないのだけれど、やれることはやらねばならない。

 そしてシステムトレードも上手くいく時といかない時がある。にもかかわらずシステムトレードを続けておられる方には頭が下がります。

 ほったらかしにしていた、『その日』という売買指示シートに組み込みヤフーの20分遅れのデータを取得するツールを3ヶ月ぶりに開いてみると、今も動いていました。(開くと同時にデータを取得するようにしてあります。

http://gyutetu.cocolog-nifty.com/blog/2007/05/post_6832.html

 問題点が2・3あり使っていなかったのですが、これを何とか克服して、新しい売買指示ブックに組み込もうと思っています。

         ********

 今日も実際の取引は冴えません、10銘柄同時の取引にしても参入のタイミングは難しい。しばらくは様子を見るしかないと思っています。カーブフィッティングだと1時間あればいくらでもよい結果を出せるけど。本当のシステムを作っていくには2ヶ月3ヶ月では出来ないと僕は思う。 実運用の結果になると色々問題も多く3年5年経たないと結果は出せないだろう。

 そしていつも勝てるわけがありません。また集中がよいのか、分散がよいのかその点でも悩みます。

 上の問題点の中には銘柄が絞りきれないというのもありました。今回10銘柄に絞ったというのは何らかの出発点でもあります。でも考えなんかころころ変わるし、挫折することもあります。それでもすこしずつ固まっていき、3ヶ月前に作ったものが、何かほかの物が出来ることによって、また問題点が解決することによって復活することもあります。

 システムトレードの皆さんがんばってください。

 

| | コメント (0) | トラックバック (0)

ヤットできた

 ドンチャンシステム売買指示ブックがほぼ完成しました。

 今回は10銘柄を選びました。ドンチャンなので業績に関係なしにただ単に売買サインに従えば良いのかもしれない。

 今週、成績の悪い8303が騰がった、ファンダメンタル、情勢からいえば買えないのに、株っていつもそんな物だ。

 ファンダメンタルも大事だけど、Progre02は順張りだから、自然とそのファンダメンタルも受け入れてくれる。

 突発的な事件、発表がある。不運にもそれに引っ掛かったとしても仕方がない。これには1つ1つのロットを小さくしておくことで対処できる。

        *

 今週に入りProgre02のデータ更新をサボっていました。見なくても殆どの銘柄がHOLDサイン(1)であることは判っている。

 だから、今週なにもサイン無視してまで売ることはなかったのです。

 ところが、10銘柄の今日の結果を見てみると、AOCだけが売りになっていました。

 AOCは100株だけを残し1850円ぐらいで売っていたので正解でした。

        *

 10銘柄に絞れば、また色々なことが出来そうです。『PM2:45発注計画』の見なおしをしても良いかもしれない。

 とにかくこの10銘柄をシュミレーションしていきます。

 つづく

| | コメント (0) | トラックバック (0)

2007年10月 4日 (木)

ドンチャンにするために条件式の変更

 トレーディングストップの式までは上手く売り買いの融合が出来ました。

 問題は売買サインの条件式です。

=IF(AA3="ストップ", IF(AA4="",4,0),
IF(AND(Y3=1,OR(AB4=0,AB4=4)),3,
IF(Y3=2,IF(OR(AB4=4,AB4=0),0,2),IF(Y3=0,0,IF(Y3=3,3,1)))))

1列挿入したので列番号はずれています。まだこれでは不完全で買いのストップは(4)、うりのストップは(5)にしようと思います。

=IF(AA28="ストップ", IF(AND(AA29="",Y28=0),5,IF(AND(AA29=5,Y28=0),1,0)),
IF(AND(Y28=1,OR(AB29=0,AB29=4)),3,
IF(Y28=2,IF(OR(AB29=4,AB29=0),0,2),IF(Y28=0,IF(AND(AA29=5,Y28=0),2,0),IF(Y28=3,3,1)))))

で、適当にIF文を付けていったら、訳が判らなくなりました。頭が痛い。

          *

AA3="ストップ"でY3=1の時
      AB4=1 OR AB4=3の時 AB3=4
              AB4=4 OR AB4=0の時 AB3=0

        Y3=0の時
      AB4=0 OR AB4=2の時 AB3=5
              AB4=5 OR AB4=1の時 AB3=1

AA3=""       でY3=1の時     AB3=1
           AB4=4の時  AB3=3

          Y3=0の時    AB3=0
                         AB4=4の時  AB3=2

               Y3=2の時    AB3=2
                      Y3=3の時    AB3=3

 条件を整理すれば多分このようになります。

これを式にしますと次のように成ります。(実際にはカッコが多すぎて1回では上手くいきません。)

=IF(AA3="ストップ", IF(Y3=1,IF(OR(AB4=1,AB4=3),4,0),IF(OR(AB4=0,AB4=2),5),IF(Y3=1,IF(OR(AB4=4,AB4=0),3,1),IF(Y3=0,IF(AB4=5,2,0),IF(Y3=2,2,3))))

 一応これで上手くいきました。

つぎは建値です。はじめから作り直そうと思います。結局その方が早いようです。

        *

 取引きは8303が変に強く、今日も負けています。

| | コメント (0) | トラックバック (0)

2007年9月 3日 (月)

Progre02を売りシステムに改造

 つづき

 変更点

1. U列 : n日間最大⇒n日間最小

     式の内容はS列と同じ

2. Y列 : トレーリングストップ

  イ. 最大値(U)よりX%下に置く

      ⇒  最小値(U)よりX%上に置く

      U3-U3*Y$1 ⇒ U3+U3*Y$1 

  ロ. X3=1 ⇒ X3=0

  ハ. 不等式を逆にします。

3. Z列 : 不等式を逆にします。

4.AA列 : 売買サイン

 少し複雑ですが基本的には同じです。

 ストップが出たときの処理が変わります。

イ. IF(Z4=””,4,0) ⇒ IF(Z4=””,4,1) 

ロ. AND(X3=1,OR(AA4=0,AA4=4)),3

⇒ AND(X3=0,OR(AA4=1,AA4=4)),2 

5. AB列 : 空売り

 (翌日寄り付きでの発注に変更しました)

=IF(AA4=2,B3,IF(OR(AA4=0,AA4=3,AA4=4),AB4,0))

6. AC列 : 返済

 =IF(AB3=0,"",IF(OR(AA4=3,AA4=4),B3,""))

7. AD列 : 損益

  AC3-AB3 ⇒ AB3-AC3

これで一応完成です。

        ********

 次回 このブックのトップシートの変更

| | コメント (0) | トラックバック (0)

2007年5月12日 (土)

売買指示シートの出来あがり

  Vba41_3 これがVBEです。

 Vba42 売買指示シートのトップシートです。データ取得ボタンをクリックすればデータ取得フォームが現れます。行あけボタンで2枚目以降のシートの3行目を入力した数だけ行が挿入され,必要な式が挿入された行にコピーされます。(30秒ぐらい)その作業が終わったのを確認し、フォームのデータ取得ボタンをクリックして下さい。(1分ぐらいで15銘柄のデータが取得されます。2つのブックで3分ぐらいです。)

Vba43 トップシートに戻り、左側のボタンをクリックして行けば,結果が出ます。

データ取得に余り時間が掛らないのでゆっくりと検討することができます。

シュミレーションの4銘柄は昨日の下げにもしぶとく耐えHOLDとなっています。私は4112を残し離してしまいました。振り落とされたようです。また機会があれば買い戻す予定です。

Vba44 共栄タンカー、三菱マテリアルはストップ率を小さくしていたためストップに掛りました。一応は適切な処置であったと思います。

それで一つ間違いに気付きました。共栄タンカーの買い予定値がこの前作った条件式では両シグナルのどちらかVba45の値になると思います。ストップで売りですから。買い予定値はそのトレーディングストップの値になります。(しかし買戻しは難しいですね。)下に訂正後の式を書いておきます。{セルT3}に入れて下さい。

=IF(OR($AA3=0,$AA3=2,$AA3=4),IF(AND($N3="",$P3=""),$O3,IF(AND($N3="*",$P3="*"),$M3,IF($Z3="ストップ",$Y3,IF($M3>$O3,$O3,$M3)))),"")

これでこのシリーズは終わりです。是非とも実行してみてください。

| | コメント (0) | トラックバック (0)