アフィリエイト広告を利用しています

広告

posted by fanblog

2015年05月01日

Rubyではじめるシステムトレード4

「Rubyではじめるシステムトレード」の勉強を再開している。データー取得方法はいろいろありそうなので、先にシミュレーションのスクリプトの方の解析を進める。テストはLinuxのVPS上で行う。とにかく正常に動かせるところをまずは目指す。

本に書いてあるとおり、スクリプト"trade_check.rb"の動作チェックを行う。実行すると以下のように出力される。

$ ruby ./check/trade_check.rb

8604
2011/11/14
251
true
false
false
241
241
10
1
2
true
2011/11/15
400
1.593625498007968
0.4

これは正常に動いていることを確認。

次はスクリプト"array_check.rb"の動作チェック。コマンドラインから打ち込んでみると、

$ ruby ./check/array_check.rb

1127
112.7
[nil, nil, nil, 105.75, 109.75, 116.25, 118.75, 119.75, 119.5, 116.25]
[nil, nil, 111, 115, 116, 123, 123, 123, 121, 119]
[nil, nil, 97, 97, 111, 115, 116, 119, 115, 110]
[nil, nil, 104.0, 106.0, 113.5, 119.0, 119.5, 121.0, 118.0, 114.5]
[nil, -3, 14, 4, 1, 7, -2, -2, -4, -5]
[nil, nil, nil, 5.0, 6.333333333333333, 4.0, 2.0, 1.0, -2.6666666666666665, -3.6666666666666665]
[nil, nil, nil, 105.75, 109.85, 115.11, 117.466, 118.0796, 116.84776, 114.108656]

となりこれも正常に動いている。

次はIndicator関係のクラスの動作チェック。スクリプト"indicator_check.rb"を実行してみると、

$ ruby ./check/indicator_check.rb

nil
nil
3
5
8
4


3
5


3
5
8
4
[nil, nil, 3]
[3, 5, 8]

と出力され、これも問題なさそう。

続けてTickモジュールの動作チェック用スクリプト"tick_check.rb"を実行してみると、

$ ruby ./check/tick_check.rb

1
1
1
5
5
10
10
50

99
3000
3005

100
3005
3010

100
99
3005
3000

101
103
3000
3005
3005

99
97
3000
2999
2999
2999

と出力され、これも問題なし。

さらに売買ルールに関するスクリプト"rule_check.rb"の動作チェック。

$ ruby ./check/rule_check.rb

#
nil

nil
#

100
105

100
95

95
105

:long_only
:short_only
:no_entry
:long_and_short

となり、これも問題なし。

さらに売買ルールのスクリプト"estrangement_entry_check.rb"も実行してみると、

$ ruby ./check/estrangement_entry_check.rb

/system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `[]': no implicit conversion from nil to integer (TypeError)
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `market'
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:22:in `generate_stock'
from ./check/estrangement_entry_check.rb:7:in `
'

エラーがでる。これはおかしいようだ。

そしてシステムトレード用クラスの動作チェックスクリプト"trading_system_check.rb"を実行してみると、

$ ruby ./check/trading_system_check.rb

/system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `[]': no implicit conversion from nil to integer (TypeError)
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `market'
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:22:in `generate_stock'
from ./check/trading_system_check.rb:19:in `simulate'
from ./check/trading_system_check.rb:46:in `
'

同じエラーがでる。

結果を出力するためのクラスの動作チェックスクリプト"record_check.rb"を実行してみると、

$ ruby ./check/recorder_check.rb

�L�^�t�H���_ result/test ���łɑ����܂��B�㏑�����܂����H y/n
y
�㏑�����܂�
/system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `[]': no implicit conversion from nil to integer (TypeError)
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `market'
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:22:in `generate_stock'
from ./check/recorder_check.rb:18:in `simulate'
from ./check/recorder_check.rb:49:in `block in
'
from ./check/recorder_check.rb:48:in `map'
from ./check/recorder_check.rb:48:in `
'

何やら文字化けをするようだが、同じエラーが出力される。

そして最後にシミュレーションの動作チェックスクリプト"simulation_check.rb"を実行すると、

$ ruby ./check/simulation_check.rb

�L�^�t�H���_ result/estrangement/test_simulation ���łɑ����܂��B�㏑�����܂����H y/n
y
�㏑�����܂�
/system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `[]': no implicit conversion from nil to integer (TypeError)
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:41:in `market'
from /system_trading/tradeSimulation_ruby/lib/text_to_stock.rb:22:in `generate_stock'
from /system_trading/tradeSimulation_ruby/lib/simulation.rb:24:in `simulate_a_stock'
from ./check/simulation_check.rb:25:in `
'

同じエラーが出て終了。
とりあえず問題はtext_to_stock.rbにあり、エラーは”`[]': no implicit conversion from nil to integer ”ということだ。
課題をまとめると、

[課題]
  • open_http': 999 Unable to process request at this time -- error 999 (OpenURI::HTTPError)の原因
  • /lib/text_to_stock.rb:41:in `[]': no implicit conversion from nil to integer (TypeError)の原因


おいおい調べていこう。

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/3607373
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
ファン
検索
<< 2016年09月 >>
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリアーカイブ
月別アーカイブ
プロフィール
日別アーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。