什么是合约交易?
1、合约交易是指买卖双方对约定未来某个时间按指定价格接收一定数量的某种资产的协议进行交易。量化合约系统开发详细案例:I35-7O98-O7I8合约交易的买卖对象是由交易所统一制定的标准化合约,交易所规定了其商品种类,交易时间,数量等标准化信息。合约代表了买卖双方所拥有的权利和义务。
简单点说就是现在约好未来某个时间地点交易一定数量的某种商品。
2、合约交易是一种金融衍生品,相对于现货市场的交易,用户可以在期货合约交易中通过判断涨跌,选择买入做多或卖出做空合约,来获得价格上涨或者下跌带来的收益。
搭建量化合约跟单自动下单系统角色:
1.交易员入驻:有交易经验的专/家入驻交易所平台,进行下单并分享下单的相关经验,普通用户进行跟随,自动下单,获得的盈利机会相对较多;
2.普通的用户/跟随者:跟随有经验的专家进行交易;智能化交易,当交易行情达到用户自己所设定的范围内自动下单,进行交易;
4、设定快捷,应对灵活:量化交易软件中,只需要填好持仓总数、种类、选择风险性就可以快速设定,一键启动。
Features of Quantitative Trading Robot:
1.The most obvious feature of quantitative trading is to reduce the impact of investor sentiment fluctuations and avoid making irrational investment decisions in the case of extreme market fanaticism or pessimism,while quantitative trading robots avoid subjective assumptions and use programs to turn their ideas into quantifiable strategies,using only computing strategies and trading strategies through computers;
2.History back test,realized by computer program,can verify the rationality of trading strategy by quantifying trading ideas;
3.It can ensure the execution of transactions/profits,especially the quantitative analysis of medium and low frequency,without the need to mark the market
合约交易的规则
1、交易时间
合约交易是7*24小时交易,只有在每周五16:00(UTC+8)结算或交割期间会中断交易。合约在交割前最后10分钟,只能平仓,不能开仓。
2、交易类型
交易类型分为两类,开仓和平仓。开仓和平仓,又分买入和卖出两个方向:
买入开多(看涨)是指当用户对指数看多、看涨时,新买入一定数量的某种合约。进行“买入开多”操作,撮合成功后将增加多头仓位。
卖出平多(多单平仓)是指用户对未来指数行情不再看涨而补回的卖出合约,与当前持有的买入合约对冲抵消退出市场。进行“卖出平多”操作,撮合成功后将减少多头仓位。
卖出开空(看跌)是指当用户对指数看空、看跌时,新卖出一定数量的某种合约。进行“卖出开空”操作,撮合成功后将增加空头仓位。
买入平空(空单平仓)是指用户对未来指数行情不再看跌而补回的买入合约,与当前持有的卖出合约对冲抵消退出市场。
进行“买入平空”操作,撮合成功后将减少空头仓位。
import quandl
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
quandl.ApiConfig.api_key='INSERT YOUR API KEY HERE'
selected=['CNP','F','WMT','GE','TSLA']
data=quandl.get_table('WIKI/PRICES',ticker=selected,
qopts={'columns':['date','ticker','adj_close']},
date={'gte':'2011-1-1','lte':'2021-07-31'},paginate=True)
clean=data.set_index('date')
table=clean.pivot(columns='ticker')
returns_daily=table.pct_change()
returns_annual=returns_daily.mean()*250
cov_daily=returns_daily.cov()
cov_annual=cov_daily*250
port_returns=[]
port_volatility=[]
sharpe_ratio=[]
stock_weights=[]
num_assets=len(selected)
num_portfolios=90000
np.random.seed(101)
for single_portfolio in range(num_portfolios):
weights=np.random.random(num_assets)
weights/=np.sum(weights)
returns=np.dot(weights,returns_annual)
volatility=np.sqrt(np.dot(weights.T,np.dot(cov_annual,weights)))
sharpe=returns/volatility
sharpe_ratio.append(sharpe)
port_returns.append(returns)
port_volatility.append(volatility)
stock_weights.append(weights)