Ruby」タグアーカイブ

抽象的なIndicatorクラスのテスト <株入門>

あ、Indicatorという親クラスのテストやってましたね。 ./check/indicator_check.rbですが、 内容は、   具体的な子クラスをダミーで用意する。 newでコンストラクタが呼ばれますが、Indicatorは引数にStockを要求する。 ダミーでは使わないので、nilを敢えて渡している。 ダミーでは、配列を返すだけという実装をcalculate_indicatorに施す。 Indicatorのcalculate … 続きを読む

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

オブジェクト指向とRuby<株入門>

先に進む前に、ちょっとだけ面倒くさい話。 トレードと関係ないけど、前回のつづき、   オブジェクト指向のクラス継承という考え方を、そのまま利用してる場合と、 それに似た、Ruby独特の機能である、Moduleのインクルードの利用。 クラス継承だけでも代価出来るような気がします。 ただ、オブジェクト指向そのものの弱点でもあるのですが、 継承関係は重く、複雑になるとと手に負えなくなります。 例えば、通信機器という親クラスがあって、そこから電 … 続きを読む

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

EnumとModuleという難関。インジケータに進む前に <株入門>

移動平均とかインジケータの実装について、 やっとサクサク進むかと思いきや、 なかなかどうして難所に差し掛かりました。 ハッキリ言いますがRubyはやさしい言語ではないです。 慣れた人の使い勝手最優先で、 便利な分、複雑だったり、 簡潔に書ける分、わかりにくかったり、 自由な分、同じ処理を様々な記述が可能だったり、 慣れるまでは、とても面倒くさい言語です。   キャッチコピーに騙されちゃいけない。 今日紹介する部分はよく分からないことがあ … 続きを読む

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

様々な指標、単純な機能でも応用は効く <株入門>

前回、ようやく配列を拡張して移動平均線を実現出来るようになった。 機能は単純で限定的に見えるが、さにあらず、 意外と応用が効くものである。 坂本タクマ先生、 当然の如く実装後にテストをちゃんとするのだが、 単純な動作検証に終わらないところが、エラい。   移動平均や、区間高値、安値の基本をチェックした後、 map_indicatorを使って、「何か計算」のバリエーションを試す。 高値と安値の中間は簡単。 前日との増減は、以下のコードで実 … 続きを読む

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

移動平均の為の配列操作の実装 <株入門>

昨日の続きです。 配列を操作して、平均や最大最小を得る。 プログラミング的なことの詳細です。 下記サイトにも書いてあるとおりで簡素な記述が可能。 Rubyで総和・平均・分散・標準偏差を算出するhttp://web-salad.hateblo.jp/entry/2015/02/05/110557 リファレンスを見れば、最大最小はメソッドして提供されてるのでこれを使えばよい。   何故、 min,maxは提供され、sum,averageが提 … 続きを読む

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

配列の処理を拡張する。これで移動平均線に対応できる。 <株入門>

粛々とシミュレーションの実現を目指します。 時系列の日足データを演算処理することになります。 時系列のデータは配列として保存されています。 その配列に対して、 指標となる、最大値、最小値、平均などを計算します。 ボリンジャーバンドなら偏差も必要。    ここでは、Rubyに標準で装備されている配列を表すクラスArrayを拡張します。 これにより、 配列に格納されている時系列データの最大値、最小値、平均など、 簡単に入手出来るようになりま … 続きを読む

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

Tradeクラスの実装 <株入門>

  プログラミング寄りの話に戻ります。 一つ一つのトレードを表すTradeクラスの構造は? 仕掛けと手仕舞いのそれぞれの日付、価格、タイミング(寄り、ザラ場、引け)、 銘柄コード、株数、取引の種類(売りか買いか)、最初に設定したストップ、変更後のストップ、 手仕舞いまでの日数。 をプロパティ(内部データ)として持つ、 ま日数は計算で出せるから要らないと思うのだが、、  で、 損益の結果や、R倍数などを返すメソッドを提供している。     … 続きを読む

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

R倍数というもの。 <株入門>

ああ、テクニカル分析寄りの話久しぶり。   Rubyの演算子&&について説明あり。 ANDを表すのだが、Rubyでは独特の振る舞いをする。 分かりにくい、こういうところがRubyのイヤなところだ。 ここではその説明は飛ばす。 Ruby入門を当たれば、分かりやすく書いてあるし、    それはさておき、久しぶりにテクニカル分析寄りの話。目出度い。 R倍数というもの。 リスクに見合うリターンという大変好ましい概念を数値化したもの。 トレードを … 続きを読む

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

売買ルールを部品化する設計 <株入門>

シミュレーションなのでやや株の話に戻れます。 ま、それでもプログラミングの設計で、ご容赦。 ここでは資金管理には踏み込まず、ロジックの優位性の検証だけにフォーカス。 という前提で、 以下の4種類に分類することから始める。 ●『仕掛け』 ●『手仕舞い』 ●『ストップ』 ●『フィルター』 分類は著者なりの分け方だ。 ロジックを作っていく過程を考えれば、これはこれで自然か。 試行錯誤の末の英知であろう。   仕掛けと手仕舞いの基本となるシグナ … 続きを読む

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

ロジックの部品化は使い勝手に直結! <株入門>

続けます。ようやくシミュレーションの話。   プログラミング的な用語でいうと、実装の前に設計から始まる。 回りくどい。けど急がば回れだ。 ●5日移動平均が20日移動平均を上回ったら新規買い ●利益が2%を越えたら利食い ●損失が1%を越えたら損切り こんなロジックを検証するとして、   移動平均のクロスというシグナル。 損益率によるシグナル。 このシグナルの部分を取り替えられるようにしておいきたい。 考えておきたいのは、  仕掛けと手仕 … 続きを読む

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