欢迎光临散文网 会员登陆 & 注册

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

2023-03-18 14:47 作者:bili_33032327742  | 我要投稿

  量化交易”有着两层含义:


  【一】是从狭义上来讲,是指量化交易的内容,将交易条件转变成为程序,自动下单;


  【二】是从广义上来讲,是指系统交易方法,就是一个整合的交易系统。


  即为根据一系列交易条件,智能化辅助决策体系,将丰富的从业经验与交易条件相结合,在交易过程管理好风险控制。


  pandas.DataFrame(ts).ewm(span=12).mean()


  1.移动平均


  def MA(df,n):


  MA=Series(rolling_mean(df['Close'],n),name='MA_'+str(n))


  df=df.join(MA)


  return df


  2.指数移动平均


  def EMA(df,n):开发逻辑I59源码2OO7系统3O69


  EMA=Series(ewma(df['Close'],span=n,min_periods=n-1),name='EMA_'+str(n))


  df=df.join(EMA)


  return df


  3.动量


  def MOM(df,n):关于区块链项目技术开发唯:yy625019,代币发行、dapp智能合约开发、链游开发、多链钱包开发


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


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


  M=Series(df['Close'].diff(n),name='Momentum_'+str(n))


  df=df.join(M)


  return df


  4.变化率


  def ROC(df,n):


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


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


  ROC=Series(M/N,name='ROC_'+str(n))


  df=df.join(ROC)


  return df


  5.均幅指标


  def ATR(df,n):


  i=0


  TR_l=[0]


  while i<df.index[-1]:


  TR=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_l.append(TR)


  i=i+1


  TR_s=Series(TR_l)


  ATR=Series(ewma(TR_s,span=n,min_periods=n),name='ATR_'+str(n))


  df=df.join(ATR)


  return df


  6.布林线


  def BBANDS(df,n):


  MA=Series(rolling_mean(df['Close'],n))


  MSD=Series(rolling_std(df['Close'],n))


  b1=4*MSD/MA


  B1=Series(b1,name='BollingerB_'+str(n))


  df=df.join(B1)


  b2=(df['Close']-MA+2*MSD)/(4*MSD)


  B2=Series(b2,name='Bollinger%b_'+str(n))


  df=df.join(B2)


  return df


  7.转折、支撑、阻力点


  def PPSR(df):


  PP=Series((df['High']+df['Low']+df['Close'])/3)


  R1=Series(2*PP-df['Low'])


  S1=Series(2*PP-df['High'])


  R2=Series(PP+df['High']-df['Low'])


  S2=Series(PP-df['High']+df['Low'])


  R3=Series(df['High']+2*(PP-df['Low']))


  S3=Series(df['Low']-2*(df['High']-PP))


  psr={'PP':PP,'R1':R1,'S1':S1,'R2':R2,'S2':S2,'R3':R3,'S3':S3}


  PSR=DataFrame(psr)


  df=df.join(PSR)


  return df


  8.随机振荡器(%K线)


  def STOK(df):


  SOk=Series((df['Close']-df['Low'])/(df['High']-df['Low']),name='SO%k')


  df=df.join(SOk)


  return df


  9.随机振荡器(%D线)


  def STO(df,n):


  SOk=Series((df['Close']-df['Low'])/(df['High']-df['Low']),name='SO%k')


  SOd=Series(ewma(SOk,span=n,min_periods=n-1),name='SO%d_'+str(n))


  df=df.join(SOd)


  return df


  10.三重指数平滑平均线


  def TRIX(df,n):


  EX1=ewma(df['Close'],span=n,min_periods=n-1)


  EX2=ewma(EX1,span=n,min_periods=n-1)


  EX3=ewma(EX2,span=n,min_periods=n-1)


  i=0


  ROC_l=[0]


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


  ROC=(EX3[i+1]-EX3<i>)/EX3<i>


  ROC_l.append(ROC)


  i=i+1


  Trix=Series(ROC_l,name='Trix_'+str(n))


  df=df.join(Trix)


  return df


  11.平均定向运动指数


  def ADX(df,n,n_ADX):


  i=0


  UpI=[]


  DoI=[]


  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


  i=0


  TR_l=[0]


  while i<df.index[-1]:


  TR=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_l.append(TR)


  i=i+1


  TR_s=Series(TR_l)


  ATR=Series(ewma(TR_s,span=n,min_periods=n))


  UpI=Series(UpI)


  DoI=Series(DoI)


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


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


  ADX=Series(ewma(abs(PosDI-NegDI)/(PosDI+NegDI),span=n_ADX,min_periods=n_ADX-1),name='ADX_'+str(n)+'_'+str(n_ADX))


  df=df.join(ADX)


  return df


合约量化系统开发(python策略)丨合约量化系统开发(源码成熟)的评论 (共 条)

分享到微博请遵守国家法律