昨日は、どの辺で転けているかの特定を行った。
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 への代入は良さそうだ。