科技美学

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1. Yahoo finincal data

df0   = yf.download(ucode, date_start, date_end, auto_adjust  = False )

  用yfinance抓取指數數據。

 

2. Backtracker has $0 buy price after trade

def notify_trade(  self , trade):
    if not trade.isclosed:
        return
    self .log(  'OPERATION PROFIT (%s) (%s) (%s days), %s, %.2f, %.0f, %.2f, %.2f' %
             (  self .inds[trade.data._name][  'singal_in' ],   self .inds[trade.data._name][  'singal_out' ], trade.barlen,
              trade.data._name, trade.price, trade.size, trade.pnl, trade.pnlcomm))

  notify_trade() 是顥示每筆已完成的交易(包含開倉和平倉)的成本價,賣出價,利潤,持倉天數。

  但其中一筆交易的成本價是$0。

 

3. Backtrader open position

https://www.backtrader.com/docu/cerebro/cheat-on-open/cheat-on-open/

由於要避免後視鏡誤差,所以在觸發買入/賣出條件後,使用下一個bar的開盤價,作為交割價。

 

4. Drop empty / 0 open price

        df0 = yf.download(ucode, date_start, date_end, auto_adjust=False)
        df0.replace(0, np.nan, inplace=True)
        df0.dropna(inplace=True)
        df0.drop_duplicates(keep=False, inplace=False)

  注入數據前,先剔除空白/重覆的數據。

posted on 2022-07-19 11:45  chankuang  阅读(61)  评论(0编辑  收藏  举报