[Ptrade] get_fundamentals的date参数 非交易日的值为空
生活随笔
收集整理的這篇文章主要介紹了
[Ptrade] get_fundamentals的date参数 非交易日的值为空
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
????????今天在Ptrade中復盤,回測的時候報錯“UnboundLocalError: local variable 'int_LabelPettm' referenced before assignment”。 其中'int_LabelPettm'是我自定義的變量,用于存儲對滾動市盈率的判斷分類結果。
????????同樣的代碼,平時不論是交易模式還是回測模式都正常,怎么今天突然就歇菜了?經反復排查,發現是get_fundamentals返回了空值的緣故。
????????對應代碼:
df_valuation = get_fundamentals(security, 'valuation', date = None, fields = ['pe_ttm'])#獲取當前的市盈率,返回DataFrame數據 int_pettm = df_valuation.loc[security,'pe_ttm']#讀取出數值 if int_pettm > 35 or int_pettm <= 0:print(security,'PE_TTM=',int_pettm,',大于35或小于等于0,剔除')int_LabelPettm = 3????????返回結果:
--> df_valuation = trading_day pe_ttm total_value secu_code 300437.SZ NaN NaN NaN????????原來date參數在回測模式下的默認取值是回測時的日期,在交易模式下的默認取值是今天,而數據庫中的估值數據只有交易日有數據,而今天是非交易日,所以交易模式下返回的結果為空,導致報錯。
????????解決辦法:
? ? ? ? 通過get_trade_days函數給date參數賦值,自動填入最新的交易日日期就可以搞定了。
總結
以上是生活随笔為你收集整理的[Ptrade] get_fundamentals的date参数 非交易日的值为空的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 体验 WebFont,网页上的艺术字
- 下一篇: 关于端午节的PPT模板