昨日は、どの辺で転けているかの特定を行った。
how-to-make-stock-trading-system.dogwood008.com
具体的には、
h = float(linetokens[next(i)])
で転けている。
/usr/local/lib/python3.6/dist-packages/backtrader/feeds/yahoo.py in _loadline(self, linetokens) 132 self.lines.datetime[0] = dtnum 133 o = float(linetokens[next(i)]) --> 134 h = float(linetokens[next(i)]) 135 l = float(linetokens[next(i)]) 136 c = float(linetokens[next(i)]) ValueError: could not convert string to float: 'SGホールディングス'
この時、 SGホールディングス
という str
を float
に変換しようとして失敗した、というのがこのエラーの趣旨である。
ソースを見る限りでは、 linetokens
に添字でインデックスを与えると読み込めるようである。 list
または tuple
のようなオブジェクトである事が推測できる。
また、添字は L136の i = itertools.count(0)
で
初期化され、next(i)
で1ずつ増えているようである。
この辺の代入処理をカラム名とインデックス番号とを見ながら適切に扱えば、o
h
l
c
への代入は良さそうだ。