株式投資」カテゴリーアーカイブ

StockListLoaderの不具合 <株入門>

このブログ読んで頂いてる方から、メールいただきました。 今日は、そのご報告を。   StockListLoaderを、stock_list_loader_check.rbにてテストするが、 以下の部分、 puts sll.market_sections.include?(“東証2部”) #=> true sll.filter_by_market_section(“東証1部”) puts s … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

モデリングはオレならこうするね。 <株入門>

Ruleの4つの抽象的な子クラスEntry,Exit,Stop,Filterの内容確認まで終わった。 デザイン的には、納得いかないとこもあるので、 オブジェクトモデリング、オレならこうするね。を書いてみたい。 綺麗と思えない理由はもうツラツラ書いてきたから、ここではしない。 自分なら純粋にどう考えるか、以下のようにする。   データを取得するところまでは、特に異論はない。 StockSerialData  既存のStockと同じもの。た … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

Stop(損切り)とFilter(制限)は他と違うのか? <株入門>

話を戻して、Ruleから派生するもの。次がStopStop(損切り)。 損切りも手仕舞いの一種なので、構造は同じだ。 ただ引数で渡されるのがpositionになってるが中身は他と同じTradeクラスである。 型チェックのない言語でこういうことは避けて欲しいなぁ。   ただ、損切りする値を示すだけで、ここで手仕舞いの操作を行うことはしない。 うーん、この辺は不統一だなぁ。 Entry,Exit,Stop,Filter全て、判断を返すだけに … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

Rubyのthrow/catchをおさらいする。 <株入門>

株の話、まったく関係ないが、 理解できずに先に進むのも気持ち悪い、 たぶん、Rubyのthrow/catchは昔馴染んだtry/catch構文とは違うはずだ。   ここで、 なんで、これで、no_valueがthrowされてもスルーできるんか、理解する。 def with_valid_indicators  catch(:no_value) {yield} end 分からんので、グーグル先生に訊く。 なかなか、良い解説に巡り会えないが、 … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

Exit(手仕舞い)の方はどうか? <株入門>

Exit(手仕舞い)も、構造は昨日のEntry(仕掛け)と同じだ。 Ruleから派生した抽象クラスEntry。 さらにそこから手仕舞いの具体的なクラスを派生させる。 インジケータ利用するなら、calculate_indicatorsで必要なインジケータの準備をする。 手仕舞うべきかの判断を、 check_long、check_shortで行い、Exitクラスのexitメソッドで手仕舞う。   仕掛けのときと構造はまったく一緒。 そのよう … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

Entry 仕掛けの抽象クラス、 ちょっと分かりにくい。 <株入門>

Ruleは四種類あり、その一つEntry仕掛けの構造。 ここの見通しはあまり良くない。   ソースコード./lib/rule/entry/entry.rbを見て分かることは。  エントリ時にチェックする仕組みを用意している。 最終的には、 check_long,check_shortというメソが呼び出されているが、 これは更に具体的な子クラスの方で実装されるらしい。 どうやら、     外からEntryのメソッドcheck_long_e … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

売買ルールは三階層で、オブジェクト指向的な。 <株入門>

遂に売買ルールの実装に到着。   ロジックつーか、売買ルールをRuleという名前で定義してます。 RuleからEntry,Exit,Filter,Stopと4つのクラスが派生する。 これは前、言ってましたよね。 仕掛け、手仕舞い、フィルター、ストップと分類するって、 更に、ブレイクでの仕掛けとかは、Entryから個別の売買ルールクラスが派生する。   という、この二段階で三層構造になっている。 フォルダの構造もそうなってる。 ./lib … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

RubyでのUnitTestについて <株入門>

さて昨日の続き、 これ一般論ですが、 putsで実行結果を出力して、目で確認は、間違いのもと。 目検の代わりに、機械に確認させましょうよ、 正確だし、どうせテストコード書くなら。 で、グーグル先生に訊くと、あるじゃん標準で。 Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 http://qiita.com/jnchito/items/ff4f7a23addbd8dbc460 経緯はゴチャゴチャあるらしいがどうでも … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , , | コメントする

Tickを扱う。 日経平均先物と違い個別株やや面倒。 <株入門>

インジケータの次は、Tickです。   さて新章。Tick(ティック)というもの。値動きの最小単位のこと。 日経平均先物とかなら5円とか10円とか、1Tickも単純だけど、個別銘柄だと当たり前だが個々。   そのTickというものを実装してゆく。 ここでは、クラスでなくモジュールとして実装している。 つまり関数として機能提供だけできればいい。   まあ、インジケータもそれで良かったとも思うが、 それはさておき、   値幅ごとに、取引単位 … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする

各インジケータの実装クラスのテスト <株入門>

それでは、Excelも使って計算しつつ、  各インジケータの実装クラスをテストしてみます。     とりあえず、コードそのままコピペします。 Unitテスト用のモジュール何か利用した方が行儀良いと思われますが、 judgeという関数一つ用意するだけで、ここでは充分です。 実行してみて、全てOKならテスト合格です。 あと、nilが挟まったデータでも問題ないかどうかも確認したのですが、 AverageTrueRangeだけはNilがあるとエ … 続きを読む

カテゴリー: 株式投資, 株式投資入門はじめました2016.05 | タグ: , , | コメントする