程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python量化合約系統開發技術分析流程丨深度解析合約量化系統開發成熟案例源碼

編輯:Python

量化合約指的是目標或任務具體明確,可以清晰度量。根據不同情況,表現為數量多少,具體的統計數字,范圍衡量,時間長度等等。所謂量化就是把經過抽樣得到的瞬時值將其幅度離散,即用一組規定的電平,把瞬時抽樣值用最接近的電平值來表示。經過抽樣的圖像,只是在空間上被離散成為像素(樣本)的陣列。而每個樣本灰度值還是一個由無窮多個取值的連續變化量,必須將其轉化為有限個離散值,賦予不同碼字才能真正成為數字圖像。這種轉化稱為量化。

量化交易系統的類型有哪些呢?量化交易系統有很多種,包括跨平台搬磚、趨勢交易、對沖交易等。

1、跨平台搬磚是指,當不同目標平台價差達到一定金額,在價高的平台賣出,在價低的平台買入。

2、趨勢交易會更加復雜一些,它根據趨勢的指標來發出賣出和買入的信號。

3、對沖是指同時進行兩筆與行情相關、買賣方向相反、數量相當、盈虧相抵的交易,以達到對沖風險的效果。量化交易的特點量化交易是一個比較新的概念,它最鮮明的特征就是運用模型。

Intertemporal arbitrage is to use algorithm models,big data and engineering capabilities in the spot and futures markets to capture the premium in different trading markets among varieties for arbitrage.

The main idea of statistical arbitrage is to find several pairs of investment consulting varieties with minimal correlation,and then find the long-term equilibrium relationship(cointegration relationship)of each pair of investment consulting varieties.When the price difference(residual difference of cointegration equation)of some pairs of varieties deviates to a certain extent,start to build positions,buy relatively undervalued varieties,short sell relatively high estimated varieties,and return to equilibrium after the equivalence difference returns to profit taking.Dynamic balance strategy,brick moving arbitrage strategy,algorithm arbitrage strategy,etc.

Algorithmic trading,also known as automatic trading,machine trading,refers to the method of issuing trading instructions by designing algorithms and using computer programs.In trading,the procedure can determine its scope,including the choice of trading time,the price of trading,and even the number of consultative properties that need to be traded at the very least.

“量化交易”有著兩層含義:一是從狹義上來講,是指量化交易的內容,將交易條件轉變成為程序,自動下單;二是從廣義上來講,是指系統交易方法,就是一個整合的交易系統。即為根據一系列交易條件,智能化輔助決策體系,將豐富的從業經驗與交易條件相結合,在交易過程管理好風險控制。

量化交易具有以下幾個方面的特點:

1、紀律性。根據模型的運行結果進行決策,而不是憑感覺。紀律性既可以克制人性中貪婪、恐懼和僥幸心理等弱點,也可以克服認知偏差,且可跟蹤。

2、系統性。具體表現為“三多”。一是多層次,包括在大類資產配置、行業選擇、精選具體資產三個層次上都有模型;二是多角度,定量投資的核心思想包括宏觀周期、市場結構、估值、成長、盈利質量、分析師盈利預測、市場情緒等多個角度;三是多數據,即對海量數據的處理。

3、套利思想。定量投資通過全面、系統性的掃描捕捉錯誤定價、錯誤估值帶來的機會,從而發現估值窪地,並通過買入低估資產、賣出高估資產而獲利。

4、概率取勝。一是定量投資不斷從歷史數據中挖掘有望重復的規律並加以利用;二是依靠組合資產取勝,而不是單個資產取勝。

合約量化,就是系統根據設置,自動進行買賣交易,上漲到一定點數則賣出平倉,下跌至相應點數則進行加倉操作,等待價格回調則賣出。不斷的操作,達到自動化交易,讓交易者不用時時刻刻緊盯市場,使用自動化交易,擯棄了用戶的個人主觀情緒,讓交易變得更為“理智”。

目前合約量化的具體體現為“量化系統”、“量化軟件”、“量化機器人等等”,每一種都略微有著不一樣,但是大部分核心原理就是馬丁倍投策略,馬丁倍投策略是來自於現貨市場的策略,但運用至合約上依然合理。

交易策略是一套規則,包括進出條件、資金管理和風險控制等。有簡單的策略也有復雜的策略。簡單策略通常使用技術指標和價格行為,而復雜策略使用高階數學和統計模型。通常我們認為復雜模型更好,但實證分析和學術研究表明,復雜模型往往過度挖掘歷史數據,無法適應劇烈的市場變化,相反,簡單模型從長期來看更穩定。本文由開發對接唯V:StPv888編輯整理發布。

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)

What are some common quantitative transactions?

For example,cross period arbitrage,statistical arbitrage,algorithm trading,etc.


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved