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

量化交易/合约交易系统开发策略详细,合约交易/量化交易系统开发(案例设计)及源码

2023-06-11 16:46 作者:bili_36625761919  | 我要投稿

  量化交易,又称为自动化交易,英文全称为“Quantitative Trading”,指以机器人替代人为的主观判断,参考海量的历史数据制定交易策略,Reduce the impact of investor sentiment fluctuations and avoid making irrational investment decisions in extreme market frenzy or pessimism.


  量化交易主要有三大优势:


  1、速度和准确性。定量分析是建立在事先编制好的程式与运算法则之上,当系统侦测到符合交易准则时,便会精确地执行指令。


  2、不受人为情绪影响。用计算机程序和编写好的算法来保证一个特定的交易结果,而且这个过程是被自动地、严格地进行的,这样就可以对情绪进行控制,避免过度交易。


  3、回测能力。通过对历史行情及交易数据的分析,可以判断该模型在目前行情下的表现。


  #coding:utf-8


  import os,sys


  import pandas as pd


  import numpy as np


  import math


  #写一个趋势跟踪策略量化交易程序


  if len(sys.argv)==2:


  code=sys.argv[1]


  else:


  print('usage:python ma20_ma60.py stockcode')


  sys.exit(1)


  if len(code)!=6:


  print('stock code length:6')


  sys.exit(2)


  df=pd.read_csv(f'{code}.csv')


  #计算移动平均线


  df['ma20']=df['close'].rolling(window=20).mean()


  df['ma60']=df['close'].rolling(window=60).mean()


  df=df[df['date']>'2020-01-01']


  cost=100000


  cash=cost


  stock=0


  fee=0.0005


  for index,row in df.iterrows():


  if row['ma20']>row['ma60']and stock==0:


  date=row['date']


  price=row['close']


  stock=math.floor(cash*(1-fee)/price/100)*100


  cash=cash-stock*price*(1+fee)


  print(f'{date}:cash={cash:.2f},stock={stock}x{price:.2f}')


  #如果短期移动平均线下穿长期移动平均线,则卖出


  elif row['ma20']<row['ma60']and stock>0:


  date=row['date']


  price=row['close']


  cash=cash+stock*price*(1-fee)


  stock=0


  print(f'{date}:cash={cash:.2f},stock={stock}x{price:.2f}')


  #计算最终收益


  price=df.iloc[-1]['close']


  profit=cash+stock*price-cost


  print(f'profit={profit:.2f},stock={stock}x{price:.2f}')


量化交易/合约交易系统开发策略详细,合约交易/量化交易系统开发(案例设计)及源码的评论 (共 条)

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