現貨合約量化交易系統開發|量化機器人開發原始碼案例

搭建猿punk2558發表於2023-02-14

  量化策略思想大致來源於以下幾個方面:經典理論、邏輯推理、經驗總結、資料探勘、機器學習等。不論基本面還是技術面,都可以使用量化的方法進行分析,進而得出量化交易策略。比如,在基本面上,國內生產總值(GDP)增幅、貨幣發行量增幅、供需平衡表等都可以使用量化方法進行描述和分析;在技術面上,移動平均線、指數平滑移動平均線(MACD)等絕大部分技術分析指標都是量化策略思想來源。


  “量化交易”有著兩層含義:


  【一】是從狹義上來講,是指量化交易的內容,將交易條件轉變成為程式,自動下單;


  【二】是從廣義上來講,是指系統交易方法,量化交易平臺13z開4z77發z558,就是一個整合的交易系統。


  即為根據一系列交易條件,智慧化輔助決策體系,將豐富的從業經驗與交易條件相結合,在交易過程管理好風險控制。


  常見的量化交易策略有很多種,例如趨勢型,網格型,剝頭皮,機率法則,高頻交易等,今天主要給大家介紹2種低頻的交易策略,高拋低吸網格交易策略、日內做T策略。


  量化交易策略原始碼(部分)


  #你選擇的證券的資料更新將會觸發此段邏輯,例如日或分鐘歷史資料切片或者是實時資料切片更新


  def handle_bar(context,bar_dict):


  ...


  if newPrice>=context.nextSellPrice:


  logger.info("執行高拋交易,對應價格:{}".format(newPrice))


  amount=context.portfolio.positions[context.s1].quantity


  if amount>=context.tradeNumber:


  logger.info("執行高拋交易,對應數量:{}".format(context.tradeNumber))


  order_shares(context.s1,-context.tradeNumber)


  plot("S",newPrice)


  elif amount>=100:


  logger.info("執行高拋交易,對應數量:{}".format(amount))


  order_shares(context.s1,-amount)


  plot("S",newPrice)


  calc_next_trade_price(context,newPrice)


  obj={


  "nextSellPrice":context.nextSellPrice,


  "nextBuyPrice":context.nextBuyPrice,


  "curTradePrice":context.curTradePrice


  }


  context.buyTradeList.append(obj)


  if newPrice<=context.nextBuyPrice:


  logger.info("執行低吸交易,對應價格:{}".format(newPrice))


  amount=int(context.portfolio.cash/newPrice/100.0)*100


  if amount>=context.tradeNumber:


  logger.info("執行低吸交易,對應數量:{}".format(context.tradeNumber))


  order_shares(context.s1,context.tradeNumber)


  plot("B",newPrice)


  calc_next_trade_price(context,newPrice)


  obj={


  "nextSellPrice":context.nextSellPrice,


  "nextBuyPrice":context.nextBuyPrice,


  "curTradePrice":context.curTradePrice


  }


  context.sellTradeList.append(obj)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70020115/viewspace-2935099/,如需轉載,請註明出處,否則將追究法律責任。

相關文章