合约量化系统开发(策略及源码)丨合约量化系统开发(成熟及技术)

165 阅读2分钟

  What is quantitative trading?

  Quantitative trading refers to using quantitative methods to formulate action plans and conduct transactions.During the trading process,advanced mathematical models are used to quantify market data,replacing artificial subjective judgments,and historical data are repeatedly verified to find"high probability"strategies that can continue to make profits in the future.Computer rapid processing technology is used to greatly reduce the impact of investor sentiment fluctuations,avoiding irrational investment decisions when the market is extremely fanatical or pessimistic.

  12.MACD

  def MACD(df,n_fast,n_slow):开发详细I35源码7O98系统O7I8

  EMAfast=Series(ewma(df['Close'],span=n_fast,min_periods=n_slow-1))

  EMAslow=Series(ewma(df['Close'],span=n_slow,min_periods=n_slow-1))

  MACD=Series(EMAfast-EMAslow,name='MACD_'+str(n_fast)+'_'+str(n_slow))

  MACDsign=Series(ewma(MACD,span=9,min_periods=8),name='MACDsign_'+str(n_fast)+'_'+str(n_slow))

  MACDdiff=Series(MACD-MACDsign,name='MACDdiff_'+str(n_fast)+'_'+str(n_slow))

  df=df.join(MACD)关于区块链项目技术开发唯:MrsFu123,代币发行、dapp智能合约开发、链游开发、多链钱包开发

  交易所开发、量化合约开发、互助游戏开发、Nft数字藏品开发、众筹互助开发、元宇宙开发、swap开发、

  链上合约开发、ido开发、商城开发等,开发过各种各样的系统模式,更有多种模式、制度、案例、后台等,成熟技术团队,欢迎实体参考。

  df=df.join(MACDsign)

  df=df.join(MACDdiff)

  return df

  13.梅斯线(高低价趋势反转)

  def MassI(df):

  Range=df['High']-df['Low']

  EX1=ewma(Range,span=9,min_periods=8)

  EX2=ewma(EX1,span=9,min_periods=8)

  Mass=EX1/EX2

  MassI=Series(rolling_sum(Mass,25),name='Mass Index')

  df=df.join(MassI)

  return df

  14.涡旋指标

  def Vortex(df,n):

  i=0

  TR=[0]

  while i<df.index[-1]:

  Range=max(df.get_value(i+1,'High'),df.get_value(i,'Close'))-min(df.get_value(i+1,'Low'),df.get_value(i,'Close'))

  TR.append(Range)

  i=i+1

  i=0

  VM=[0]

  while i<df.index[-1]:

  Range=abs(df.get_value(i+1,'High')-df.get_value(i,'Low'))-abs(df.get_value(i+1,'Low')-df.get_value(i,'High'))

  VM.append(Range)

  i=i+1

  VI=Series(rolling_sum(Series(VM),n)/rolling_sum(Series(TR),n),name='Vortex_'+str(n))

  df=df.join(VI)

  return df

  15.KST振荡器

  def KST(df,r1,r2,r3,r4,n1,n2,n3,n4):

  M=df['Close'].diff(r1-1)

  N=df['Close'].shift(r1-1)

  ROC1=M/N

  M=df['Close'].diff(r2-1)

  N=df['Close'].shift(r2-1)

  ROC2=M/N

  M=df['Close'].diff(r3-1)

  N=df['Close'].shift(r3-1)

  ROC3=M/N

  M=df['Close'].diff(r4-1)

  N=df['Close'].shift(r4-1)

  ROC4=M/N

  KST=Series(rolling_sum(ROC1,n1)+rolling_sum(ROC2,n2)*2+rolling_sum(ROC3,n3)*3+rolling_sum(ROC4,n4)*4,name='KST_'+str(r1)+''+str(r2)+''+str(r3)+''+str(r4)+''+str(n1)+''+str(n2)+''+str(n3)+'_'+str(n4))

  df=df.join(KST)

  return df

  16.相对强度指标

  def RSI(df,n):

  i=0

  UpI=[0]

  DoI=[0]

  while i+1<=df.index[-1]:

  UpMove=df.get_value(i+1,'High')-df.get_value(i,'High')

  DoMove=df.get_value(i,'Low')-df.get_value(i+1,'Low')

  if UpMove>DoMove and UpMove>0:

  UpD=UpMove

  else:UpD=0

  UpI.append(UpD)

  if DoMove>UpMove and DoMove>0:

  DoD=DoMove

  else:DoD=0

  DoI.append(DoD)

  i=i+1

  UpI=Series(UpI)

  DoI=Series(DoI)

  PosDI=Series(ewma(UpI,span=n,min_periods=n-1))

  NegDI=Series(ewma(DoI,span=n,min_periods=n-1))

  RSI=Series(PosDI/(PosDI+NegDI),name='RSI_'+str(n))

  df=df.join(RSI)

  return df

  17.真实强度指标

  def TSI(df,r,s):

  M=Series(df['Close'].diff(1))

  aM=abs(M)

  EMA1=Series(ewma(M,span=r,min_periods=r-1))

  aEMA1=Series(ewma(aM,span=r,min_periods=r-1))

  EMA2=Series(ewma(EMA1,span=s,min_periods=s-1))

  aEMA2=Series(ewma(aEMA1,span=s,min_periods=s-1))

  TSI=Series(EMA2/aEMA2,name='TSI_'+str(r)+'_'+str(s))

  df=df.join(TSI)

  return df

  18.吸筹/派发指标

  def ACCDIST(df,n):

  ad=(2*df['Close']-df['High']-df['Low'])/(df['High']-df['Low'])*df['Volume']

  M=ad.diff(n-1)

  N=ad.shift(n-1)

  ROC=M/N

  AD=Series(ROC,name='Acc/Dist_ROC_'+str(n))

  df=df.join(AD)

  return df