坂本タクマ」タグアーカイブ

Simulationクラスのソースを順を追って。 <株入門>

では、本書の解説に従い、./lib/simulation.rbを見てみよう。   全体の流れは、 初期化の後、一日の処理を順次繰り返している。   一日の処理とは、  寄り前  リセットとストップの更新。  寄り付き 仕掛けと手仕舞い。  ザラ場  仕掛けと手仕舞い。  大引け  仕掛けと手仕舞い。   実に自然な流れです。   売買を表すのは、tradeクラスでした。 positionとsignalという二種類のプロパティとして保持し … 続きを読む

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

シミュレーション全体を統合する。 <株入門>

明けましておめでとうございます。 相場を見習って4日からにでもしようとも思ったのですが、 ま、このまま平常運転続けます。 新生活の様子見てこの後のリズム再考します。 で、 遂に最終コーナー曲がってホームストレートって感じです。 テストでやった、simulateをチャントプログラムに組み込むってところ。 それがSimulationクラス。     寄り付きと大引けで仕掛けと手仕舞いするのは、当然と言える。 ここで特徴的なのはザラ場での仕掛 … 続きを読む

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

検証結果のファイル出力について、ふたたび <株入門>

結果出力について、本書の出力はそれなりに整理されていると思う。 ただ、ExcelやAccessの利用を前提としてるなら、 加工は全てMSOffice系のアプリで行うという考え方もありだと思う。 そう考えると、最低限、  加工する前の生データの取得をしておきたい。 銘柄別にファイル分けなくて、最初の項目が銘柄コードで全トレードの結果が出てくるもの。 集計はしてなくていい。 纏め直すのはExcelの方が得意だろうから、 それもこれも、どうい … 続きを読む

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

Recorderクラスのテスト <株入門>

早速、 ./check/recorder_check.rbを見てみる。 途中までは、TradingSystemのテストと一緒。 準備で、 recorder.record_setting(__FILE__) という見慣れない一行。 設定ファイルのコピー先らしい、詳細は次で使うから今はスルーする。 __FILE__は実行されてるファイル自身を指すRubyの指定語らしい。 とりあえず、今はスルーしとく。   実際のテストは、以下なので、 re … 続きを読む

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

銘柄ごとに集計した結果を出力する、全集計を出力する。 <株入門>

  トレードごとは生データ。 今度は銘柄ごと(コードごと)に集計して出力する場合。   処理の方法は前回と基本同じ、 違うのがTradeクラスの変わりにStatsクラスを使うところ。 ロックされてないかファイルチェックした後、 ハッシュの形で用意した値でヘッダーを書き込み、 stats.send(key)で各集計値を呼び出す。   ちょっとだけダサいのが、最初に「コード」を追加してる点。 record_stats_for_each_st … 続きを読む

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

トレードごとの結果を出力する。 <株入門>

CSVファイルへ検証結果を出力するところにようやく入る。 まずはTradeクラス、いちトレードの結果をCSVファイルに出力するところ。   前回説明のファイルにロック掛かってないか例外処理でチェックした後、 トレードの結果を出力している。     ここでちょっとしたテクニックを使ってる。 各CSV用にハッシュを用意している。 引用しちゃおう。 def items_for_a_stock  { :trade_type => “ … 続きを読む

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

Rubyの例外処理 <株入門>

あ、もう一つあった、ファイル操作に関連して例外処理を行っていた。 これに関しても言及しておこう。   ええと、Rubyの例外処理はtry/catchではない。紛らわしいったらありゃしない。 begin/rescueという構文。 これがほぼ、C++やJavaのtry/catchと一緒。 話が早いので引用してしまおう。 begin  yield rescue Errno::EACCES  puts “#{file_name} が … 続きを読む

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

集計結果を出力しよう。Recorderクラスでファイル操作 <株入門>

もう一息ですね。 集計結果を体裁整えて、ファイル出力出来れば、システムとして一通りカバーでしょう。    Recorderクラスの仕事は以下だそうです。 ①1銘柄の取引を記録する ②銘柄ごとの統計の一覧表を作る ③すべての銘柄のすべてのトレードを統合した統計を記録する ④設定ファイルを保存する 銘柄ごとtradeごとの記録、 ロジック(TradeingSystem)単位集計した銘柄ごとの記録、 ロジック(TradeingSystem)単 … 続きを読む

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

あ、Nilのときだけ値設定するというやり方は、、先に進む前にもう一つだけ、 <株入門>

先に進みたいのですが、留意点がひとつあり、言及します。 これは以前にも、不具合の元となったことで、  ./lib/stats.rbで言うと、 def profits  @profits ||= @trades.map {|trade| trade.profit} end このやり方です。 profitsにまだ値が設定されてなければ、計算する。 既に値が設定されていれば、その値を返す。 ってことですが、 こんなやり方してるのは、毎回計算す … 続きを読む

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

R倍数のおさらい、Tradeクラスのおさらい <株入門>

もう一度R倍数について、 トレードを仕掛けたときに入れる最初のストップと、仕掛けた値段の差がRの値だ。 例えば、1000円で買い仕掛け、初期ストップを900円に置いたとすると、R値は100になる。 そのRの何倍の利益があったのか、というのが、R倍数だ。 1000円で買い仕掛け900円に初期ストップを置いたトレードで、 1200円で手仕舞ったとすれば、R倍数は2だ。 「2R」というような書き方をする。 リスクに見合うリターンの度合いという … 続きを読む

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