https://qiita.com/Fujinoinvestor/items/780b138e441531860e60
のソースコードをコピペして実行してもデバイスから画像がうまくできません。
発生している問題・エラーメッセージ
[SpyderKernelApp] WARNING | No such comm: (画像コード)
```html import pandas_datareader.data as web import datetime start = datetime.date(2018,1,1) end = datetime.date.today() data = web.DataReader('AAPL', 'yahoo', start, end) from backtesting import Backtest, Strategy # バックテスト、ストラテジー from backtesting.lib import crossover import talib as ta def MACD(close, n1, n2, ns): macd, macdsignal, macdhist = ta.MACD(close, fastperiod=n1, slowperiod=n2, signalperiod=ns) return macd, macdsignal class MACDCross(Strategy): n1 = 12 #短期EMAの期間 n2 = 26 #長期EMAの期間 ns = 9 #シグナル(MACDのSMA)の期間 def init(self): self.macd, self.macdsignal = self.I(MACD, self.data.Close, self.n1, self.n2, self.ns) def next(self): # チャートデータの行ごとに呼び出される if crossover(self.macd, self.macdsignal): #macdがsignalを上回った時 self.buy() # 買い elif crossover(self.macdsignal, self.macd): #signalがmacdを上回った時 self.position.close() # 売り # バックテストを設定 bt = Backtest( data, # チャートデータ MACDCross, # 売買戦略 cash=1000, # 最初の所持金 commission=0.00495, # 取引手数料 margin=1.0, # レバレッジ倍率の逆数(0.5で2倍レバレッジ) trade_on_close=True, # True:現在の終値で取引,False:次の時間の始値で取引 exclusive_orders=True #自動でポジションをクローズ(オープン) ) output = bt.run() # バックテスト実行 print(output) # 実行結果(データ) bt.plot() # 実行結果(グラフ) #最適化 output2=bt.optimize(n1=range(10, 100, 10),n2=range(10, 300, 10),ns=range(10, 50, 5), maximize='Equity Final [$]', method='grid') print(output2) bt.plot()
### 補足情報(FW/ツールのバージョンなど) anaconda3 で Python 3.8.8[GCC 10.2.0 64 bit (AMD64)] on win32 を使用しています。
あなたの回答
tips
プレビュー