近々の課題とは

先ほど書いた、「近々の課題」とは・・・
とりあえず、シグナル出た銘柄の株価詳細を知りたい。
と、いうことで。
実は、現在、原始的な作業をしています。
イートレード証券の株ボードの登録と、自分のBlogを左右に配置して、
手作業で登録していきます。
見たい銘柄は、イートレでQuickなどで検討します。
ただ、ヤフーファイナンスが見やすいので、そちらで確認もする場合があります。
そんなわけで、非常に検討のしにくい状態になっています。
そこで、妙案!!
シグナルをスペース区切りで出力させて、MyYahooのポートフォリオに
「マックが株取引抽出銘柄」を作成して、そこにコピペすれば、
すばらしく見やすくなります。
完全に他力本願ですが、こんなんでいかがでしょうか。
当初は、フレームで、左にうちの銘柄などの一覧を出して、
右にヤフーファイナンスへのリンクで表示させようと思いましたが、
そこまでするなら、いろいろとしたくなるので、とりあえず、
ヤフーファイナンス用のコピペデータを、毎日のシグナルの後に出力するようにします。
今日中にできればいいですけどね・・

現在の作業状況

遅々として進まない開発・・
本業のシステム開発が進まないことには、こちらは当然に進まないのですが、
さすがに、今日のような下げがあると、早くシステムをつくる必要性を感じます。
今日のような下げに対応できるかは不明ですが、少なくとも、帰りの電車で日経平均を
見てびくびくしながら帰ることはなくなると思います。
なんせ、それまでに損切りしてしまってるはずですから。
現在のシステムの状況ですが、
当初、一つのシステムですべてを補うつもりでしたが、
よくよく考えると、結構無謀なことをしていて、
システムを分割してモジュール化して、非同期で処理をさせる方が、
すっきりするような気がしてきました。
具体的には、
1 処理開始
  各銘柄の新しい価格が更新されるまで監視します。
2 取引区分割り振り
  Swing、Day、約定後の反対取引などを区分により、
 処理を割り振る
3 取引可否判定
  2から引き継いだ、判定用数値と現在株価(日中足)データから
 取引をすべきか判断
4 取引処理
  銘柄、指値or成行、価格、数量、などから、実際の発注をする
5 約定結果取得
  約定の結果を監視します。
  約定したら、処理区分を変更して、終了します。(1の待機状態になる)
と、いった流れにします。
今後の機能拡張の面からも、モジュールわけしておきます。
ただ、近々の課題も・・・

シグナルの「kikan」と「rieki」について

先ほど、コメントで、シグナルに出てくる
「kikan」と「rieki」について質問がありました。
説明したつもりで投稿していましたが、
思いこみでしたm(__)m
kikanは「シミュレーションでの平均トレード期間(営業日ベース)」
riekiは「シミュレーションでの平均利益金額(円)」
と、いうことになります。
ですので、翌日の寄りつきで買うときに、すでに寄りつきで、
平均利益金額よりも上がっていると、シミュレーションの結果からすると、
すでに利益はでてしまっていることになります。
シミュレーションでは、翌日寄りつきで買っていますが、
同じ考えの人が多くおられる場合は、寄りつき価格が高くつく場合もあると
思いますのでご注意ください。

自動取引システム構想

先日から検討している「自動売買システム」の実現に向けて、
必要な係数や、データベース構造、処理のフローなどを考えている。
今までの処理は継続的に動くシステムというよりも、
単発で処理をする者が多かったが、
今回検討する必要のある自動売買は、
状況によって、処理の種類が多岐にわたるため、
事前に考えておかないと、後で大きなロスを生むことになる。
(経験上(^^;)
今日は、大きな流れを考えた。
・SwingとDayのトレードを同じシステムで処理すべきか。
・必要な事前準備(主に当日朝までの処理)
まず、SwingとDayと同じ処理の中で処理すべきか、
処理すべき内容、一緒に処理した場合の利点、欠点、
別に処理した場合の、利点、欠点。
それぞれを書き出すと、時間もないので、結果を書くと・・
「別に処理すべし!」ということで、結論をだした。
次に処理に必要な事前準備の関係であるが、
・ 取引すべき銘柄
・ SwingかDayか
・ 買いからか売りからか
・ 買付(売付)の上限(下限)価格
・ 目標価格
などの個別銘柄に関する情報。
・ Swingでの取引枠
・ Swingでの取引枠残
・ Dayでの取引枠
・ Dayでの取引枠残 
など、全体にかかる情報。
これらは、取引までに準備しておかなくてはならない。
ここの状況は基本的には、蓄積している情報から画一的に引っ張りだすことも
可能であるが、銘柄固有の情勢などの情報は加味できないため、
当面の間は、自動的に抽出されたリストに、手作業で加除訂正を加えたい。
出張で出先にいるときなどで夜に準備データが更新できない場合は、
積極的な取引は控えて、返済の処理や、デイトレに比重を置くように
しておきたい。
明日からは具体的に、
・データベースの構造設計
・具体的な処理フローの設計
を、していきたい。

今後のシグナルの表示

自動投稿をしてみた。
この投稿の前に「Todays Signal(Test)」と、いうのが出ているが、
それが、自動投稿のテストである。
予定では、これから平日の午後5時に
・株価を取得
・指標を計算
・シグナルポイントの算出
・シグナルの表示
を自動的に行い、
ブログに投稿する。
今までは買いシグナルだけだったが、
やはり売りシグナルも必要なので、(計算はもともとしている)
表示することにした。
基準は、買い90に対して、売りは△80とした。
それでも、今回は表示がない。
ちなみに△70だと、
code date point_max point_avg point_min rieki kikan
9130 2006-06-16 -48 -61 -72 16 4
6788 2006-06-16 -48 -56 -72 215 9
8227 2006-06-16 -45 -57 -70 594 13
が、算出される。
シミュレーションが、買いを優先に計算しているので、売りは出にくいのかもしれない。
次のシミュレーションでは、両方の計算をするようにしてみたい。

開発方針変更

先日まで、本業が忙しくなかなか手を付けれなかった。
と、いいつつも、いまだ忙しいのは変わらないのであるが、
さすがに停滞が続くと忘れそうなので、無理矢理進めることにする。
今日はちまたではワールドカップの日本戦があるらしいが、
みれそうにもない(–;
先日、今後の優先開発事項として、「分足データの取得」を目指していたが、
イートレからリアルの情報を取得する方法として、以下のような方法を考えていた。
・ ポートフォリオで4値+出来高の表示形式を作成
・ ポートフォリオに前日の動きから必要な銘柄を抽出する
・ ポートフォリオ名を適宜つけながら、30銘柄ずつ登録する
・ 30を超えたら新しいポートフォリオ名を追加していく
・ 取引期間中はポートフォリオ名を順番に繰りながら4値などを取得
と、画期的な方法(?)を考えついて、htmlの解析まで行っていたが、
結構画面が変遷するので、途中で画面が固まったりするとエラーが頻発しそう。
(特にイートレは・・・、他のネット証券も似たり寄ったりですけど・・)
で、結局、このシステムは後回しにする。
そんなわけで、今までに作った分足取得システムで取得できる30銘柄で、
とりあえず取引をできるようにすることにした。
取引が始まれば、身銭に関わるので、寝る間も惜しんで作業をすることになるでしょう。(^^;
もともと資本が少ないので、一日に取引できる銘柄は、4~5程度になると思うので、
それでもなんとか最初に絞り込みさえできれば、大丈夫でしょう。
もっと資本が増えてくれば、簡単にリアルに株価を取れるところから買ってもいいですしね。
そんなわけで、今週こそ「買いシステム」を完成させるぞ!!
しばらく売りは手作業です(;;)

本日のシグナルテスト

本日のシグナルテストです。
今日の株式市場も迷走状態で、方向性の見えない状況でした。
今までの下がり方かたからすると戻すのは当然の状態なので、
明日以降の行方が気にかかります。
でも、そのような感覚はこのシグナルは加味していません。
当然ですが・・・(^^;
(厳密には指数としては加味している場合もありますけど)
今日はその迷走の状況からかシグナルは少なめです。
昨日未明からシミュレーションをやり直しました。
この暴落状態を加味した指標選定となっているはずです。
(このシミュレーションがシグナルの減った原因かもしれませんけど)
code date point_max point_avg point_min rieki kikan
1950 2006-06-12 100 100 100 30 20
9014 2006-06-12 100 100 98 21 37
9777 2006-06-12 100 100 100 39 23
7882 2006-06-12 100 100 100 21 25
7552 2006-06-12 100 100 100 24 6
6820 2006-06-12 100 100 100 132 9
3878 2006-06-12 100 100 100 5 12
2737 2006-06-12 100 100 100 62 20
7916 2006-06-12 97 96 95 12 8
7981 2006-06-12 97 96 95 23 22
7999 2006-06-12 96 94 92 8 9
9010 2006-06-12 96 96 95 11 52
8279 2006-06-12 95 95 95 58 15
8095 2006-06-12 93 91 87 18 9
9009 2006-06-12 92 89 87 38 33
4031 2006-06-12 91 91 91 21 34
今日は、もう一つ記事を書くつもりなので、この辺で・・・

次の作業に・・

今週は、仕事が忙しくなかなかシステムの開発に手が付けれなかった。
今週末&来週はすこしずつでも作業を進めたい。
なにをするべきか、いろいろと考えているが、
注文を出すシステムを作る前に、日中価格の取得をしなくてはならない。
最初に板情報を取得するシステムを作ったが、これは板を取れるのはいいが、
同時に取得できるのが30銘柄くらいに限定されてしまう。
少なくとも四値と出来高程度でも一分置きにリアルで、300銘柄くらいは取得したいと
思っている。
従来の一銘柄ずつ取得する方法では、当然に無理なので、ちょっとできそうな方法を
考えてみた。
実際のシステムを作ってから、方法をお知らせしたいと思う。
ほんとはWindowsならこんな苦労はしなくてもいいんでしょうけどね・・。
では、今日のシグナルです。
code date point_max point_avg point_min rieki kikan
1826 2006-06-02 100 100 100 7 8
5491 2006-06-02 100 100 100 10 5
5942 2006-06-02 100 100 100 43 6
8194 2006-06-02 100 100 100 79 7
8136 2006-06-02 100 100 100 71 4
6901 2006-06-02 100 100 100 16 5
8095 2006-06-02 100 100 100 18 9
8025 2006-06-02 100 100 100 9 3
7981 2006-06-02 100 100 100 23 22
9123 2006-06-02 100 100 100 7 5
4762 2006-06-02 100 100 100 8273 4
9475 2006-06-02 100 94 87 122 27
1835 2006-06-02 100 100 100 8 12
1883 2006-06-02 100 100 100 27 24
9665 2006-06-02 100 100 100 26 25
1885 2006-06-02 100 100 100 10 14
1890 2006-06-02 100 100 100 2 4
1934 2006-06-02 100 100 100 15 9
1978 2006-06-02 100 95 93 36 32
3713 2006-06-02 100 100 100 25285 4
8013 2006-06-02 100 100 100 5 4
4112 2006-06-02 97 95 93 11 9
6850 2006-06-02 97 91 81 10 9
6203 2006-06-02 97 96 95 6 6
7952 2006-06-02 95 91 87 8 4
4921 2006-06-02 95 93 90 251 25
9896 2006-06-02 95 91 82 47 12
1884 2006-06-02 94 91 88 13 7
9717 2006-06-02 93 93 93 68 8
8369 2006-06-02 91 87 84 39 17
7260 2006-06-02 91 90 89 22 4
例のごとく自己責任でよろしくです。
自分の取引ができるようになったら、BlogでなくWEBで公開したいものです。
検索機能や個別銘柄のポイント照会などもしたいです。
結果は全部データベース化されているので、そんなに難しいことはないですけどね。

シミュレーションループの効率化

やはり、先日の最後に書いた、
「テキストで出力したときより、データベースに格納した方がレコード数が少ない」
と、いう感覚は間違っていなかった。
よく考えると、単純にパターンをループで生成すると、単純に組み合わせをする時では問題ないが、
その中で、適宜チョイスする場合だと、だいぶロスがでてしまう。
それは承知の上だったかが、そこに比重がはいると、ロスどころか、切り捨てができずに、
重複した結果を出力していることになる。
よく考えるとわかるけど、思いつきで作業していると、作るに精一杯でその辺に頭が回らない。
結局、5つの指標で3つを選択する組み合わせは、
5C3で10通りになるはず、その中で比重をつければ、
効率的に計算できるはずである。
どれだけ効率が上がるかは、いろんなところが関係するので、あえて計算せずに、
とりあえず、修正しよう・・・。
でも、どうも、うまくロジックが、思い浮かばない・・・。

シミュレーション結果のデータベース化

今日は天気が良く、外遊びにはもってこいの日であり、プログラムはあまり進まない日であった。
Excelでシミュレーションの結果を見たり、
履歴で実際のチャートで変なところで売買をしていないか、
などを検討してみた。
結果は、概ね仕方ないかなぁ・・といったところ。
チャートを見ると、どうしても先をみてしまうので、
まだ落ちるやろ・・、なんでもう利確するかなぁ・・などと、考えてしまうが、
先の見えていない状態から考えると、概ねいけてると思う。
そこで、この結果から実際の売り買いサインを出すシステムになるのだが・・
当初、このシミュレーション結果は、毎回計算をするので、最適なパターンだけを出力して、
他の過程は捨ててしまうつもりであった。
ただ、後の検証などを考えると、シミュレーションで出てきたパターンや、
シミュレーションの履歴をデータベース化して、あとでこれを分析すると、
もっといろんなことができそうな気がしてきた。
そんなわけで、サインを出す前に、この結果をデータベース化することにした。
ここで、シミュレーション結果と履歴のテーブルをどのようにするのが良いか・・
正規化からすると、当然に分けるのがスジであるが、
履歴は自動で処理して分析する予定はない。
そんなわけで、シミュレーション結果の最後にたらたらと、BLOB型で保存することにした。
(決して面倒なだけではない(^^;)
これで各処理の結果などはすべてデータベースに格納されることになる。
もっと、軽いシステムにするつもりが、データベースを中心とした、おもたーいシステムに
なってきている。(^^;
最終的には、このシグナルや根拠をWEBなどで公開することを考えると、
データベース化しておく方が楽なので、当初のイメージよりは重たいが、
このまま進めることにする。
今日の作業は、
データベースのテーブル定義(すぐ終わるけど)、
データベースにInsertする処理のコーディングの途中、
までの作業であった。
なんとか来週の取引からシグナルだして、実際の売買(手売買)に
使いたいです。