合约量化/量化合约/合约跟单系统开发(开发详解),合约量化/量化合约/合约跟单成熟源码开发

简介: 交易中心与算法工人内部架构,交易中心主要负责接收客户端发送过来的指令,通过风控层后将指令路由至算法工人,由算法工人处理订单逻辑,如:条件单、追单、止损止盈单等,并最终将订单报入交易所场内,同时将回报返回给交易中心,再由交易中心将回报返回给订阅用户。

  交易中心与算法工人内部架构,交易中心主要负责接收客户端发送过来的指令,通过风控层后将指令路由至算法工人,由算法工人处理订单逻辑,如:条件单、追单、止损止盈单等,并最终将订单报入交易所场内,同时将回报返回给交易中心,再由交易中心将回报返回给订阅用户。

  交易中心还负责路由用户发送的策略指令,并根据指令分发给策略回测工人或者策略仿真工人,对应的去执行回测指令或者启动策略等。

  #测试所有代码

  def all_test(codes,names,days,begin_count,end_count,earnings_count=30,writefile='codes.csv'):

  count_earnings=0 I35 system 7O98 development O7I8

  count_suc=0

  count_fail=0

  earnings_count=(end_count-begin_count)*0.1

  name_array=np.array([])

  code_array=np.array([])

  suc_array=np.array([])

  fail_array=np.array([])

  earnings_array=np.array([])

  count_hold_days=0

  #for code in codes:

  for i in range(len(codes)):

  earnings,suc,fail,index_array,pct_array,hold_days=test(codes<i>,days=days,begin_count=begin_count,end_count=end_count,name=names<i>)

  if suc==-1:

  continue

  count_earnings=count_earnings+earnings

  count_suc=count_suc+suc

  count_fail=count_fail+fail

  count_hold_days=count_hold_days+hold_days

  if earnings>earnings_count:

  #print('test==',code,suc,fail,price)

  name_array=np.append(name_array,names<i>)

  code_array=np.append(code_array,codes<i>)

  suc_array=np.append(suc_array,suc)

  fail_array=np.append(fail_array,fail)

  earnings_array=np.append(earnings_array,earnings)

  print('count_suc',count_suc)

  print('count_fail',count_fail)

  print('count_earnings','%.1f'%count_earnings)

  print("suc",'%.1f'%(count_suc/(count_suc+count_fail+1)*100))

  print("earnings pre",i,'%.1f'%(count_earnings/(count_suc+count_fail+1)),count_hold_days)

  data=[code_array,name_array,suc_array,fail_array,earnings_array]

  data=np.transpose(data)

  ser2=pd.DataFrame(data,columns=['ts_code','name','suc','fail','earnings'])

  #ser2=pd.Series(suc_array)

  #ser2=pd.Series(fail_array)

  #ser2=pd.Series(price_array)

  ser2.to_csv(writefile,encoding="utf_8_sig")

  #测试指定文件对应的所有代码

  def test_sel_codes(days,begin_count,end_count,names,file='codes.csv'):

  df=pd.read_csv(file)

  codes=df['ts_code'].values

  names=df['name'].values

  print(codes)

  all_test(codes,names=names,days=days,begin_count=begin_count,end_count=end_count)

  #测试指定代码是否符合条件

  def sel_current_code(ts_codes,name='no_name'):

  df=load_data(ts_codes)

  i=-1

  begin_count=-3

  end_count=-1

  date=df['trade_date'].values[begin_count:]

  close=df['close'].values[begin_count:]

  price=15

  if len(close)<2:

  return False,'1999'

  if close[-1]<price:

  return False,'1999'

  change=df['change'].values[begin_count:]

  pct_change=df['pct_chg'].values[begin_count:]

  if len(close)<2:

  return False,'1999'

  conditionOne=pct_change<i><9.5

  conditionTwo=pct_change[i+1]<9.5

  if conditionOne and conditionTwo:#pct_change[i+1]<9.5表示下一个交易日涨停

  buys,sells,ret=check_days_money(ts_codes,name,date<i>)

  if ret:

  print(ts_codes,name,buys,sells,ret,'%.1f'%(buys/sells*100))

  return True,date<i>

  #if close<i>>ma5<i>and close[i-1]<ma5[i-1]and pct_change<i><9.5:#pct_change<i><9.5当日交易涨停

  return False,date<i>

  #测试所有代码是否符合条件

  def all_sel_current_code(codes,names,writefileName='sel_codes.csv',writefile=True):

  path='./选择/'

  dir=Path(path)

  if not dir.exists():

  os.mkdir(dir)

  begin_count=-200

  end_count=-1

  days=20

  name_array=np.array([])

  code_array=np.array([])

  date_array=np.array([])

  for i in range(len(codes)):

  code=codes<i>

  name=names<i>

  #判断条件选择

  ret,date=sel_current_code(code,name)

  if ret:

  name_array=np.append(name_array,name)

  code_array=np.append(code_array,code)

  date_array=np.append(date_array,date)

  earnings,suc,fail,index_array,pct_array,hold_days=test(code,name=name,days=days,begin_count=begin_count,end_count=end_count)

  if suc==-1:

  continue

  name=str.replace(name,'*','')

  if earnings>0:

  file_dir=path+'Curent_AAA_%s_%s%d%d++%.1f++%.1f.png'%(code,name,suc,fail,suc*100/(fail+suc+1),earnings)

  else:

  file_dir=path+'Curent_BBB_%s_%s%d%d——%.1f——%.1f.png'%(code,name,suc,fail,suc*100/(fail+suc+1),earnings)

  plot_pct(code,index_array,pct_array,begin_count=begin_count,end_count=end_count,writefilename=file_dir)

  print("codes%s%s earnings%.2f"%(code,name,earnings))

  data=[code_array,name_array,date_array]

  data=np.transpose(data)#矩阵转置

  ser2=pd.DataFrame(data,columns=['ts_code','name','date'])

  if writefile:

  ser2.to_csv(writefileName,encoding="utf_8_sig")

相关文章
|
7月前
|
算法 物联网 区块链
量化合约交易|量化跟单|秒合约系统开发案例
区块链就是这样的技术。通过之前的学习我们已经知道了区块链在不依赖中心化组织的条件下,参与方可以通过共识机制达成一致,使区块链天然具备信任的基础。
|
机器人 大数据 API
量化交易/量化合约/合约量化/秒合约/永续合约/合约跟单/交易所系统开发(策略及源码)
量化交易/量化合约/合约量化/秒合约/永续合约/合约跟单/交易所系统开发(策略及源码)
|
算法 区块链
现货交易/合约跟单/系统技术开发/合约量化/秒合约功能开发
程序进行交易决策和执行的方式,现货交易是指在数字货币市场进行实时现货买卖的方式,合约跟单是指跟随其他交易者或 投资者进行交易的方式,秒合约是指在数字货币市场进行高频交易的方式。
|
安全 区块链
量化现货合约交易系统开发/量化合约对冲策略系统开发源码搭建
量化现货合约交易系统开发/量化合约对冲策略系统开发源码搭建
|
前端开发 算法 数据挖掘
关于量化合约及合约量化系统开发技术说明及详细案例
随着区块链技术的不断发展,合约量化系统已成为加密货币领域的重要工具。量化合约是一种通过计算机程序实现自动化交易的工具,它可以有效提高交易效率和精度。同时,合约量化系统可以帮助交易员更好地管理风险和进行数据分析,从而为交易者提供更多的帮助。
132 0
|
JSON 监控 算法
量化交易/合约量化/量化合约/交易所开发项目,量化交易/合约量化/量化合约/交易所系统开发技术方案及详细(源码案例)
 量化交易是指将计算机程序和系统性交易策略结合起来,使用数学模型和统计分析,通过算法自动判断交易买卖时机,并自动执行交易的过程。量化交易具有高效性、精确性和纪律性的特点,能够在瞬间完成决策并执行交易,减少人为干预,提高交易决策的精准性和稳定性。
|
算法 5G
永续合约丨秒合约丨量化合约丨合约量化丨交易所系统开发详细案例/方案项目/源码功能
  市场将量化交易分为以下类别:系统化交易、算法交易、程序化交易和机械式交易等
|
算法
量化合约系统开发丨合约量化系统开发源码
量化合约系统开发丨合约量化系统开发源码
110 0
|
存储 安全 分布式数据库
关于量化合约/永续合约/秒合约/合约跟单/合约量化系统开发详情介绍及源码部署
  从本质上看,区块链是以分布式数据存储、点对点传输、共识机制、加密算法、,智能合约等计算机技术集成创新而产生的分布式账本技术,是基于互联网的分布式数据库,具有去中心化、共识机制、不可篡改、可以追溯、规则透明等特点,
合约量化/量化合约开发源码说明,量化合约/合约量化系统开发(成熟及方案)丨运营版
  Quantitative trading refers to the use of advanced mathematical models instead of subjective judgments,and the use of computer technology to select multiple&quot;high probability&quot;events that can bring excess returns from huge historical data to formulate strategies,greatly reducing the impact of inves