#Python3ではじめるシステムトレード
書籍『Python3ではじめるシステムトレード』にて、つまずいた箇所などのメモ。
##1.ez_setup.pyが見つからない
まずez_setup.pyをダウンロードする。次のページからダウンロード可能である。
http://trac.edgewall.org/wiki/TracPlugins
・指定のページに目的のファイルは見つからなかった
・現在(2017/07/08)はez_setup.pyなしにeasy_installが使える様子
・従って、p26~27の「2.2.1.1 easy_installの設定」はスキップ
##2.米国ヤフーファイナンスからのデータ取得でエラー
price=pdr.DataReader("N225","yahoo","1984/1/4",end)
price.head(1)
・次のエラーが発生した
ConnectionError: HTTPConnectionPool(host='ichart.finance.yahoo.com', port=80): Max retries exceeded with url: /table.csv?s=N225&a=0&b=4&c=1984&d=6&e=7&f=2017&g=d&ignore=.csv (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x000002A7A3C4F5F8>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed',))
・ダウンロードしたreadme.txtに次の記載があり、これが原因か?
2017年7月4日Yahoo FinanceのAPIによる米国株価等のダウンロードのサービス停止
##3.年間収益率の算出
ave=n225[dates[i]:dates[i+1]].pct_change().mean()*250
・これは「1日の変化率の、平均の、250倍が、1年間の変化率」ということか?
・1年=250日で計算するのは、問題ないと思いますが、
・本当は、調和平均か何かが正しいような気もする
・書籍の方法が正しいのか?実は正しくないけど、簡易な計算としてOKなのか?
##4.ボラティリティの算出
vol=np.log(n225[dates[i]:dates[i+1]]).diff().std()*np.sqrt(250)
・標準偏差の平均は「ルート((標準偏差^2の和)÷n)」だったから、
・標準偏差の足し算は「ルート(標準偏差^2の和)」、即ち、
・標準偏差の掛け算は「ルート(標準偏差^2×250)」=「標準偏差×ルート(250)」ということかな?
(・・・と思ったけど、そうじゃない、計算の理解混乱中)
##5.pandas.core.datetoolsモジュールは将来廃止
p97「6.4.9静的分析」のコマンド実行したら、赤いメッセージが現れ、驚いた。でも、今は問題ない様子。
The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.
from pandas.core import datetools
pandas.core.datetoolsモジュールは廃止され、将来のバージョンで削除されます。 代わりにpandas.tseriesモジュールを使用してください。
pandas.coreからのインポートdatetools
##6.dropna()が二重?
n225 = pdr.DataReader("NIKKEI225", 'fred',"1949/5/16",end).dropna()
lnn225=np.log(n225.dropna())
dropna()が二重にかかってるように見える。何か意味があるのだろうか?
##ギブアップ
資料ダウンロードしたら、そのまま演習を実行できるので、試しやすかったのですが、、、、
統計の説明など、自分が楽しく読んで理解できるレベルの本ではなかった。
でも、面白そうな分野なので、またどこかで何かを味見しようと思います。
この本に関しては、ここで終了します。
ありがとうございました。