関する情報商材を紹介するブログ等で当サイトが参考リンクとして併記されていることがあるようですが、概ね当サイトとは無関係です。日足データベース作ってみたら、やたらと巨大に。新しいアルゴリズムをまた作ったけど、不安。トラックバック(0)今日は日経平均先物が大幅に高く寄り付きました。昨日の中国株の下げが他の市場にあまり影響を与えていない様子で、米国株も堅調でした。なると「今日も中国株はそこそこ堅調に推移するだろうから、日経平均株価はさらに上昇するだろう」などという予想はできたのですが、自動売買プログラムは頭が悪いのでそういう予想を立てることができません。日経平均先物が寄り付いた後で少し下がったところで、自動売買プログラムが個別銘柄を売りはじめました。やめてほしいと思っていたのですが(でも本当に株価が下がったらそれはそれで嫌だから手出しできない)、案の定その後日経平均株価が上昇。担がれてしまいました。酷かったのが7873アークで、9時15分から9時27分の間にトータル4000円も負けています。前場中ごろには損失が1万円を超えていて、「これで5月は負け越しか......」と思っていました。10時30分にサイバーエージェントを売り仕掛けたのですが、日経平均先物がいきなり急上昇。オワタかと思ったら、案外新興には波及せず、これは僅かな利益を得ることができました。後場には、前場買っていた飯野海運がかなり上昇してくれて、損失をかなり減らしてくれました。一時期はトータル損益がプラス転換したほどだったのですが、結局引けにはマイナス転換してしまいました。この銘柄のおかげで5月はギリギリ勝ち越しとなりました。今週の損益がちょっと酷いです。このごろ、前場寄り付き直後の動きに自動売買プログラムが翻弄されて負けることが多いようです。それに日経平均株価の動きに完全に抜かれています。トラックバック(0)今日は鉱工業生産の発表が8時50分にあった影響で、日経平均先物が低めに寄り付き、その後少し上昇しました。この影響で、寄り付き直後は買い建てに偏重したポジションとなりましたが、その後日経平均が下げてしまい損切りという形になりました。その後売り建て銘柄を少しずつ増やす形となりました。中国の印紙税率引き上げの影響で、10時26分ごろに日経平均先物が急落しました。これで何とかなるかと思ったのですが、売り建て銘柄はなかなか下がってくれませんでした。それどころか、その後の反発でむしろ含み損をさらに増やす結果になりました。後場も日経平均は13時10分ごろまで継続的に下げましたが、それでも売り建て銘柄はなかなか下がってくれませんでした。結局、その後の日経平均の上昇に応じて担がれる展開となりました。日経平均の動きに対して、TOPIXや、新興貸借銘柄がかなり底堅い動きを示していました。日経平均の動きだけを見ると今日は勝てなければおかしい展開なのですが......今日は勝っておきたかったのでとても残念です。トラックバック(0)さっきVisualStudioのIDEを使ってDataAdapterにSQL文を追加したら、登録していたDataSetクラスがいきなり全て消えてしまいましたorz。エラーがズラズラズラっと出てきました。最初はもう何がなんだか。こちらが意図して消したわけでも操作ミスをしたわけでもないのに。27日にバックアップをとっていたので、それで何とか操作直前の状態まで復旧することができましたが、かなりびびりました。いうことがあるから油断できません。トラックバック(0)今日は自動売買プログラムがエラーで停止しちゃったので、9時50分ごろに全て手動で決済してしまいました。上記記事では5000円程度の損失と書きましたが、実際には昨日の負けの分の譲渡益税還付金で4000円程度の損失でした。ザラ場終了後に色々見てみましたが、今日は新興を高値掴みして損切りし、その後の上昇に置いていかれる展開になっていたのではないかと思います。日経平均株価は寄り付きから比べると騰がっていますが、自動売買の対象銘柄はいまいちぱっとしません。つつがなく自動売買が動作していたら、それはそれで結構嫌な展開だったろうと思います。負けていたか、せいぜいトントンで終わっていたのではないかと思います。5月は残り2営業日ですが、月ベースのプラスを維持できるかどうかが微妙になってきました。直近のドローダウンからは5万円程度プラスになっていて少し浮かれていたのですが、考えてみるとこの直近のドローダウンは5月初旬に発生していました。4月末までの利益から換算すると、月ベースではまだ14000円程度のプラスにしかなっていません。まあ今月は色々アルゴリズムを変更しているので、月ベースの収支はあまりパフォーマンスの参考にはならないのですが。途中で自動売買プログラムが停止したので売買は少なめ。トラックバック(0)うわーやっちゃったorz。昨日の発注時の遅延の対策にミスがあって、決済のときにエラーが出て落ちてしまいましたorz。決済用のスレッドのプライオリティを変えるべきところを発注用のスレッドのプライオリティを変えようとして例外が発生したようですorz。決済処理のテストは保有株が無いとできないのですが、日計りのみの取引なのでチェックできませんでしたorz。エラーで落ちてしまうと、それまでのログが保存されていないので、後で自動で決済するようなことができなくなってしまいます。仕方が無いので、手動で全ての建て玉を決済しました。ちなみに、エラーが落ちた当時は含み損10000円くらい(かなり酷いorz)でした。寄り付き直後に売買が閑散としていて、板が薄い銘柄が多く、成り行きで仕掛けるとその時点で100株あたり700円程度の含み損が出るという感じでした。昨日もそうでしたが、出来高が不足していて、あまり自動売買に向かない地合いなのかもしれません。結局手動で決済したのですが、その間に運良く幾つかの銘柄が戻してくれて、何とか5000円くらいの損失に抑えることができたみたいです。その後さらに放置していればもっとよかった可能性があります(保有株が殆ど買い建てだったので)。おまけに、慌てていて買い建て銘柄を先に決済しちゃってるしorz。概ねどの業種も堅調ですねorz。いうときに曲げちゃうんですねorz。実は買い建て銘柄の幾つかは新興の銘柄で、どうも高値掴みの展開になっていたようなので、実際に売買を続けていたらどうなっていたかはちょっとわかりません。'"~゙ヾッi':!;ソj/。,.r─‐‐-、、,_。トラックバック(0)発注の際に重くなる問題点について色々調べていたのですが、ノートンもデータベースもあまり関係ないみたいです。.NETでのスレッド間のやり取りに何らかの問題が発生しているみたいです。私の自動売買プログラムは、普段はフォームのイベントを処理するスレッドと、5秒ごとにアルゴリズムを動かすスレッドで構成されているのですが、発注の際には発注専用のスレッドを構築しています(個別銘柄の約定チェックもこのスレッドで賄っているので、関数やサブルーチンに置き換えるのは難しい)。その際に、アルゴリズムを動かすスレッドにできるだけ影響を与えないように、発注用のスレッドのプライオリティを低め(BelowNormal)にしています。これまでは、このやり方で何も問題は発生しませんでした。土日で色々弄くっている間に、何故か突然これがダメになってしまったらしく(発注関連やフォームのInvokeの部分には全く手を触れていないのに!!)、発注用のスレッドを実行するところで、全てのスレッドが30秒程度停止してしまうという事態が発生するようになってしまいました。構築されたスレッドの開始部分から発注処理までの間には、こちら側でロックしているオブジェクトはありません。完全に停止してしまうのならば確実にこちら側のミスだとわかるのですが、30秒くらいで復旧するところを見るとそうでも無いようです。発注用スレッドの最初の部分にちょっとプログラムを付け加えただけで挙動が変わったりするので、かなり不気味です。想像してみたのですが、多分スレッドのStartメソッドの内部で、呼び出し元のスレッドと何らかの同期を図る必要性があって、CPU利用率が高いときにBelowNormalで呼び出しちゃうとその同期をとるのに余分な時間がかかってしまうのではないかと思います。いうかそういう理由だと30秒停止するのは幾らなんでも遅すぎると思いますが。しょうがないので、発注用スレッドのプライオリティをHighestにして構築し、呼ばれた発注スレッドの内部で自身のプライオリティをBelowNormalにするようにしてみたところ、かなりマシになりました。本当の原因も解決策もわからないので不安ですが、明日はこれで臨んでみようと思います。トラックバック(0)今日は朝から自動売買プログラムの様子がおかしく、発注の度に処理が重くなるという感じでした。土日に弄くった部分はデータベース関連の処理であって、発注系には全く手を触れていません。データベースの追加で全体のパフォーマンスが落ちるということはあるのでしょうか?原因が掴めないだけにちょっと怖いです。発注以外の部分では遅延が見られないみたいなので、POSTの処理が重くなっているのかもしれません(セキュリティソフトが原因?)。取引の方は、前場にサイバーエージェントとサイバーコミュニケーションズを買って含み益1万円となりましたが、後場の急落で含み損1万円になりました。他の銘柄は目だって勝てたものが無い状態でした。その後やや戻した感じで引けました。底で損切り決済という最悪の形にはなりませんでしたが、つまらない展開でした。日足データベース作ってみたら、やたらと巨大に。トラックバック(0)つぎはぎだらけの知識とGoogleの力を借りて、何とか日足一年分のデータをデータベースに入れることができたのですが、何故かファイルが超巨大になってしまいました(120MBくらい)。Protraのデータとかを見ると、私のデータよりもはるかに期間が長いのに、もっと短いサイズに収まっています。実は、このProtraのデータベースの中身をAccessで開いてみて、それを参考に自分用のデータベースを作ってみたのですが(株式分割比率などのパラメータを独自に追加しました)、中身を考えると、ファイルはもっと小さくなってもいいはずです。今Accessの方のヘルプを見て気が付いたのですが、VB.NETのLong型は8バイトだけどAccessデータベースのLong型は4バイトだったりで、色々違う部分があるみたいです。日経平均株価など、小数点が入った指数もデータベースに組み入れるつもりで、ProtraデータベースでLong型だった部分をDouble型にしてしまったのが拙かったみたいです(そもそも本当はこういうのはDecimal型を使うか、整数型を数倍にして固定小数点として扱うべき。いうか現時点で株価に小数点以下を考慮する場合って、指数を組み込む場合とTOPIX先物を扱う以外に全くメリットが無い。出鱈目に作ってしまったorz)。データベースファイルのサイズも問題なのですが、データベースへのアクセスの時間がもっと問題です。株価テーブルを弄るフォームをウィザードに従って出鱈目に作っていたら、フォームを開くときに7分くらい待たされるようになってしまいましたorz。株価を扱うDataAdapterのFillメソッドでDataTableにデータを流し込むところで時間がかかっています。SQLを使ってアクセスする行を限定しなければならないようです。この辺り↓を見ておいたほうがよさそうです。トラックバック(0)今日は前場に4835インデックス・ホールディングスを買い、これがストップ高になってくれました。他にも幾つかの銘柄も買いましたが、それらは殆ど前場に損切りという形になりました。後場にストップ高になったサイバーエージェントも前場に買っていたのですが、前場引け間際に損切り決済しましたorz。後場は用事で出かけていました。13時ごろに携帯を使って状況を確認してみると、売り玉が悉く損切り決済されていました。「日経平均株価が上昇してるのかな?」と思ったのですが、家に帰ってから様子を見てみると、新興市場が爆上げだったようです。その動きに釣られたのか、幾つかの東証1部小型株も少し上昇したようです。売り玉には新興銘柄がなかったので、勝率は低いものの大きな負けは避けることができ、インデックスのおかげで損益はプラスになっていました。新興銘柄を売っていたら大変なことになっていたかもしれません。ストップ高を掴んだ割には利益が乏しいのも事実で、勝率がとても悪く、インデックスを掴んでいなければ1万円以上負けていた計算になります。来週の新興は軒並みGUで始まりそうです。持ち越さないアルゴリズムなので、ただ指をくわえて待つだけですorz。このごろ現状は維持できていますが、勝率がちょっと低めなのが気になります。トラックバック(0)今日は売り建て中心のポジションとなりました。10時30分ごろまでは快調で、含み益が1万円を超えていたのですが、その後の先物の上昇により、損益が一気にマイナス転換しました。後場には逆に含み損が1万円を超えてしまったのですが、その後14時以降の下げに助けられて、ある程度回復しました。出来高を伴わない動きが多かったような気がします。トラックバック(0)今日は前場高いところで買ったサイバー・コミュニケーションズを9時49分に81500円で損切りしましたorz。一方でバリューコマースを売っていて(わけのわからんポジションになってる)、これには担がれるという結果になりました。その結果、前場引けには14000円くらいの損失になりました。後場に入ってからカルチュア・コンビニエンス・クラブが上昇してくれて、なんとかその損失分を相殺してくれました。後場の段階で殆ど新興銘柄を保有していなかったので、ここまで回復してくれるとは思いませんでした。監視対象銘柄が全体的に前日比+1.5%程度上昇しているので、それに比べるとあまり芳しく無い結果ではありますが、大勝の翌日は結構負けることが多いので、損失を回避できただけでも良かったのかもしれません。トラックバック(0)今日は、これまで足を引っ張っていた古いアルゴリズムの一つを除去して自動売買に臨みました。今日の新興市場は一日中騰がりっぱなしでした。日経平均先物も、12時30分~13時に少し下げたくらいで、あとは上昇トレンドを維持しました。自動売買は買い玉が多く、高値で掴んでしまう銘柄もあって不安だったのですが、上昇トレンドを維持したことでかなりの利益となりました。欲を言えば、一番上昇していたマザーズ市場の銘柄に手が出なかったのと、途中で利益確定してしまった銘柄が引けまでにさらに上昇していたのが少し残念です。何にせよ、買い建て中心のポジションでこれだけ勝てたのははじめてですし、昨日の負け分を考えると少し助かりました。トラックバック(0)今日は買い玉が多かったのですが、売り玉に大幅に担がれて負けてしまいました。前場10時30分ごろの下げで幾つかの買い玉を損切りさせられたのも痛かったです。後場は一時15000円を超える損失となりましたが、その後売り玉の楽天が下がってくれたのと、残った買い玉が少しずつ伸びてくれたおかげで、そこまで酷い負けにはなりませんでした。日経平均の上げを見ると虚しいです。古いアルゴリズムがちょっと足を引っ張っているようにも見えるので、もう少し色々検討してみます。トラックバック(0)全上場銘柄の日足データベースを作ってみようと思って色々やってみたのですが、肝心のデータベースに関する知識が全く無いのでヘルプの意味とか全然わかりません(;><)。行を削除して追加するという処理だけで詰まっていますorz(既にYahoo!ファイナンスとかから時系列データを取得する部分は出来ているというのに......)。画面上では更新されているのにデータベースは全く変更されていなかったり、デバッガで見ても主キーの重複は見られないのに、何故か主キーの重複エラーが出ていたり......色々混乱しています。データベース上での処理とメモリ上にコピーされたテーブル上での処理を頭の中で混同しちゃっているみたいです。メモリ上のテーブルの行を削除してからデータベースをUpdateすると、メモリ上のテーブルの行は既になくなっているからデータベース上の行には削除が反映されないという状況になっているみたい。問題は解けそうな感じではありますが、完成までには当分時間がかかりそうですorz。トラックバック(0)今日は1銘柄を除く全ての銘柄で売り建てのポジションとなりました。前場に結構安いところで売ってしまっていて、今日も底で売ってしまったのかと思っていたのですが、10時30分にサイバー・コミュニケーションズが急落しました。前場引けまでは、殆どこの銘柄だけで含み益を得ていたので、いつリバウンドしてくるかと戦々恐々としていました。後場に東証1部銘柄も下げに転じて軟調になったので、他の売り玉の含み益も伸びてくれました。マザーズ指数は800を割ってから強く戻しましたが、利益確定のアルゴリズムが働いてくれたおかげで大きく担がれることなく逃げることができました。ポジションが殆ど売りに偏っていたことを考えると、指標の下げ幅に比べれば利益がやや少なめです。前場で担がれて損切りしたり、中途半端なところで利益確定をしてしまった銘柄が幾つかあることが原因だと思います。それにしても今週は資産推移が無茶苦茶です。火曜日の損失が痛いです。トラックバック(0)今日は米国市場が上昇したものの、GDP速報値が予想値よりも悪かったせいか、発表後にSGX日経225先物が下落しました。その影響のせいか、大証の日経平均先物が寄り付いてから少しリバウンドして上昇しました。この影響のせいか、ポジションが買いに偏ってしまいました。前場は揉み合いだったのでそれほど損失は無かったのですが、後場になってから地合いが悪くなって急に損失が増えてしまいました。売っていた4835インデックスは、34000円で400株程度の指値買い頻繁にあって、なかなか下がってくれませんでした。これが別の新興銘柄だったら、もう少しマシな結果になっていたかもしれません。結局、今日は勝率も悪く損切りが多い展開で、いつもならば引け前まで2~3銘柄くらいはホールドするのですが、今日は14時35分ごろにノーポジとなってしまいました。それにしても今月ちょっと拙いです。このままだと月ベースの損益が負けとなってしまいます(これまでもそれに近いことはあったのですが)。スイングシステムの場合、月ベースで負ける場合があっても仕方が無いところですが、デイトレシステムだとちょっと拙いです。スイングに対してボラが少ない分、損失を取り返すのが難しいというのも問題です。トラックバック(0)今日は前場9時23分にサイバー・コミュニケーションズを買いました。かなりのスリッページを伴いましたが、何とか天井掴みにならずに済みました。ところが、その後ヘッジ用のアルゴリズムが働いて、サイバーエージェントとバリューコマースを売る破目になりました。買い玉も売り玉も揉み合っていましたが、かなり不安なポジションで、「このままサイバー・コミュニケーションズがストップ高になったら、それに釣られてサイバーエージェントやバリューコマースが上がってしまい、かえって負けてしまうのではないか」と思っていました。予想通りで、その後サイバーエージェントやバリューコマースの株価が上昇しました。10時49分ごろにバリューコマースが急上昇して損切りという形になりましたが、ほぼ同時にサイバー・コミュニケーションズがストップ高に触れたので、利益確定アルゴリズムが働きました(貼り付いてくれればS高で利益確定ができたのですが、1ティック低く約定してしまいました)。バリューコマースの損切りでもかなりのスリッページが発生してしまいました。他にも幾つか酷いスリッページが発生した銘柄があって、終始これに悩まされる展開となりました。後場には一時的に損益が3000円くらいまで低下してしまい、さすがにこれは酷いなと思っていたのですが、その後、前場に買っていた東京製鐵が少しずつ持ち直して、何とかそこそこの利益にはなりました。損益の値動きの派手さのわりには利益が出ていないので、消化不良で釈然としない感じです。贅沢かもしれませんが、昨日の負けの分も考えると、もう少し利益が欲しかったところです。