Python2からPython3への移行メモ
- byte型からstr型への変換
以下のコードが動かなくなったのを修正:
# 処理するCSVファイルのリストを取得 file_name = np.genfromtxt("file_list",delimiter=",",dtype="S20" ) for csv_file in file_name: # それぞれのCSVファイル中のデータを取得し処理 data = np.genfromtxt( csv_file , delimiter=",")
"data=..."のところで、”AttributeError: 'int' object has no attribute 'split'”と言われてしまう。
以下を参照し、byte型からstr型への変換を明示することで修正:
python3のbytes型とstr型の比較と変換方法 | Python Snippets
以下修正コード:
# 処理するCSVファイルのリストを取得 file_name = np.genfromtxt("file_list",delimiter=",",dtype="S20" ) for csv_file in file_name: # それぞれのCSVファイル中のデータを取得し処理 data = np.genfromtxt( (csv_file.decode('utf-8')) , delimiter=",") # decodeを追加
Mac 開発環境構築
[Mac] 開発環境構築
- Visual Studio for Macのダウンロード
- ダウンロードしたdmgをダブルクリックしてインストール
Androidもターゲットに含めておく
- EditorをVim化
Visual Studio Community - 拡張機能でvimを検索しインストール
が、コマンドモードが使えないようだ。
以下(英語)の2番目の回答を参照し、MacVimを外部ツールとして設定してみる。
stackoverflow.com
MacVimのインストールは以下を参照:
shinogasa.hatenablog.com
Pythonで偏自己相関係数を計算する
[Python] 偏自己相関係数
株価(日次または週次の終値)の時系列データを取得し、偏自己相関係数を求める。
参考にしたのはこちら:
# 株価(日次または週次の終値)の時系列データを取得し、偏自己相関係数を求める # usage: python pacf.py code duration d_or_w (1: Per day/Else: Per week) # ライブラリのインポート import sys import urllib.request import bs4 import matplotlib.pyplot as plt # 統計モデル import statsmodels.api as sm # Constants # Arguments # 証券コード code = sys.argv[1] # 20 x duration (日または週)分のデータを取得 duration = int(sys.argv[2]) # 日次または週次の選択 d_or_w = int(sys.argv[3]) if d_or_w == 1: d_flag = "d" else: d_flag = "w" # Variables # 株価時系列データ price = [] for i in range(1,duration+1): # Web上のリソースからsoupを作成 url = "http://info.finance.yahoo.co.jp/history/?code="+code+"&sy=2000&sm=1&sd=1&tm="+d_flag+"&p="+str(i) soup = bs4.BeautifulSoup(urllib.request.urlopen(url).read() , "lxml" ) # 株価時系列のテーブルの各行を参照 for j in range(1,len(soup.findAll('table')[1].findAll('tr'))): # 株式分割・併合等の表示を除外 if len(soup.findAll('table')[1].findAll('tr')[j].findAll('td')) == 7: # print(soup.findAll('table')[1].findAll('tr')[j].findAll('td')) # タグ、カンマ等を取り除く src = str(soup.findAll('table')[1].findAll('tr')[j].findAll('td')[6]) dst = src.replace("<td>","") dst = dst.replace("</td>","") dst = dst.replace(",","") # 株価時系列データ、過去→現在の順になるように追加(挿入)していく price.insert( 0 , float(dst) ) # 自己相関 # price_acf = sm.tsa.stattools.acf(price, nlags=40) # 偏自己相関 price_pacf = sm.tsa.stattools.pacf(price, nlags=40, method='ols') # 偏自己相関の出力 #print( price_pacf ) plt.plot( price_pacf ) plt.show()