91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 4.66KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-05-06
  • 語言: Python
  • 標簽: 量化??海龜??

資源簡介

海龜量化策略.py 代碼

資源截圖

代碼片段和文件信息

import?numpy?as?np
import?talib
import?math

def?getExtremem(arrayHighPriceResult?arrayLowPriceResult):
????np_arrayHighPriceResult?=?np.array(arrayHighPriceResult[:-1])
????np_arrayLowPriceResult?=?np.array(arrayLowPriceResult[:-1])
????maxResult?=?np_arrayHighPriceResult.max()
????minResult?=?np_arrayLowPriceResult.min()
????return?[maxResult?minResult]
????
def?getAtrAndUnit(atrArrayResult?atrLengthResult?portfolioValueResult):
????atr?=?atrArrayResult[atrLengthResult-1]
????unit?=?math.floor(portfolioValueResult?*?.01?/?atr)
????return?[atr?unit]
????
def?getStopPrice(firstOpenPriceResult?units_hold_result?atrResult):
????stopPrice?=??firstOpenPriceResult?-?2*atrResult?+?(units_hold_result-1)*0.5*atrResult
????return?stopPrice


def?init(context):
????context.tradedayNum?=?0
????context.unit?=?0
????context.atr?=?0
????context.tradingSignal?=?‘start‘?
????context.preTradingSignal?=?‘‘
????context.units_hold_max?=?4
????context.units_hold?=?0
????context.quantity?=?0
????context.max_add?=?0
????context.firstOpenPrice?=?0
????context.s?=?‘CSI300.INDX‘
????update_universe([context.s])
????context.openObserveTime?=?55;
????context.closeObserveTime?=?20;
????context.atrTime?=?20;

def?handle_bar(context?bar_dict):
????portfolioValue?=?context.portfolio.portfolio_value
????highPrice?=?history(context.openObserveTime+1?‘1d‘?‘high‘)[context.s]
????lowPriceForAtr?=?history(context.openObserveTime+1?‘1d‘?‘low‘)[context.s]
????lowPriceForExtremem?=?history(context.closeObserveTime+1?‘1d‘?‘low‘)[context.s]
????closePrice?=?history(context.openObserveTime+2?‘1d‘?‘close‘)[context.s]
????closePriceForAtr?=?closePrice[:-1]
????
????atrArray?=?talib.ATR(highPrice.values?lowPriceForAtr.values?closePriceForAtr.values?timeperiod=context.atrTime)
????
????maxx?=?getExtremem(highPrice.values?lowPriceForExtremem.values)[0]
????minn?=?getExtremem(highPrice.values?lowPriceForExtremem.values)[1]
????atr?=?atrArray[-2]
????

????if?(context.tradingSignal?!=?‘start‘):
????????if?(context.units_hold?!=?0):
????????????context.max_add?+=?0.5?*?getAtrAndUnit(atrArray?atrArray.size?portfolioValue)[0]
????else:
????????context.max_add?=?bar_dict[context.s].last
????????
????
????curPosition?=?context.portfolio.positions[context.s].quantity
????availableCash?=?context.portfolio.cash
????ma

評論

共有 條評論