5
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

『Python3ではじめるシステムトレード』読書メモ

Last updated at Posted at 2017-07-08

#Python3ではじめるシステムトレード
書籍『Python3ではじめるシステムトレード』にて、つまずいた箇所などのメモ。
##1.ez_setup.pyが見つからない

p26
まず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.米国ヤフーファイナンスからのデータ取得でエラー

p62
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に次の記載があり、これが原因か?

readme.txt
2017年7月4日Yahoo FinanceのAPIによる米国株価等のダウンロードのサービス停止

##3.年間収益率の算出

p77
ave=n225[dates[i]:dates[i+1]].pct_change().mean()*250

・これは「1日の変化率の、平均の、250倍が、1年間の変化率」ということか?
・1年=250日で計算するのは、問題ないと思いますが、
・本当は、調和平均か何かが正しいような気もする
・書籍の方法が正しいのか?実は正しくないけど、簡易な計算としてOKなのか?

##4.ボラティリティの算出

p77
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
google訳
pandas.core.datetoolsモジュールは廃止され、将来のバージョンで削除されます。 代わりにpandas.tseriesモジュールを使用してください。
   pandas.coreからのインポートdatetools

##6.dropna()が二重?

p97
n225 = pdr.DataReader("NIKKEI225", 'fred',"1949/5/16",end).dropna()
lnn225=np.log(n225.dropna())

dropna()が二重にかかってるように見える。何か意味があるのだろうか?

##ギブアップ
資料ダウンロードしたら、そのまま演習を実行できるので、試しやすかったのですが、、、、
統計の説明など、自分が楽しく読んで理解できるレベルの本ではなかった。
でも、面白そうな分野なので、またどこかで何かを味見しようと思います。

この本に関しては、ここで終了します。
ありがとうございました。

5
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?