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

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

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

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

  #测试所有代码

  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")

相关文章
|
4月前
|
算法 物联网 区块链
量化合约交易|量化跟单|秒合约系统开发案例
区块链就是这样的技术。通过之前的学习我们已经知道了区块链在不依赖中心化组织的条件下,参与方可以通过共识机制达成一致,使区块链天然具备信任的基础。
|
11月前
|
机器人 大数据 API
量化交易/量化合约/合约量化/秒合约/永续合约/合约跟单/交易所系统开发(策略及源码)
量化交易/量化合约/合约量化/秒合约/永续合约/合约跟单/交易所系统开发(策略及源码)
|
11月前
|
安全 区块链
量化现货合约交易系统开发/量化合约对冲策略系统开发源码搭建
量化现货合约交易系统开发/量化合约对冲策略系统开发源码搭建
|
安全 区块链
秒合约案例|量化现货合约跟单系统开发|合约跟单源码
区块链和智能合约是具有“解构”性质的新技术
|
JSON 监控 算法
量化交易/合约量化/量化合约/交易所开发项目,量化交易/合约量化/量化合约/交易所系统开发技术方案及详细(源码案例)
 量化交易是指将计算机程序和系统性交易策略结合起来,使用数学模型和统计分析,通过算法自动判断交易买卖时机,并自动执行交易的过程。量化交易具有高效性、精确性和纪律性的特点,能够在瞬间完成决策并执行交易,减少人为干预,提高交易决策的精准性和稳定性。
|
算法 5G
永续合约丨秒合约丨量化合约丨合约量化丨交易所系统开发详细案例/方案项目/源码功能
  市场将量化交易分为以下类别:系统化交易、算法交易、程序化交易和机械式交易等
|
算法
量化合约系统开发丨合约量化系统开发源码
量化合约系统开发丨合约量化系统开发源码
103 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
|
供应链 PyTorch 区块链
量化合约/合约量化/合约跟单/交易所开发详情,量化合约/合约量化/合约跟单/交易所系统开发(源码案例)及方案策略
  随着区块链技术的普及,智慧供应链下的数字经济将会更加真实可信,随着区块链在供应链领域的深入应用与发展,未来的数字经济社会将会变得更加公正和透明。
|
JSON 数据管理 BI
合约量化/量化合约/秒合约/永续合约/合约跟单/交易所系统开发(开发方案)及案例详细源码
  区块链跟单合约量化系统是一种基于区块链技术的交易系统,它利用智能合约来自动化交易操作,将交易信息和数据记录在区块链上,保证交易的公开透明和数据的可靠性。