量化合約跟單交易系統開發說明分析,量化合約跟單交易原始碼平臺開發
程式碼如下解析:
import pandas as pd
import matplotlib.pyplot as plt
import backtrader as bt
import backtrader.feeds as btfeed
import backtrader.indicators as btind
from backtrader import analyzers
import pyalgotrade
import PySimpleGUI as sg
import akshare as ak
import pandas as pd
import datetime
stock=sg.popup_get_file('輸入股票程式碼比如sz002466')
start_date=sg.popup_get_file('輸入資料開始時間比如20200101')
start_cash=sg.popup_get_file('輸入開始資金比如1000000')
#定義測試類
class testStrategy(bt.Strategy):
#定義記錄函式
def log(self,txt,dt=None):
dt=dt or self.datas[0].datetime.date(0)
print('%s,%s'%(dt.isoformat(),txt))
#初始化資料
def __init__(self):
self.dataclose=self.datas[0].close
#定義交易狀態檢測函式,交易前
def notify_order(self,order):
#如果交易提交/接受
if order.status in[order.Submitted,order.Accepted]:
print('交易提交,交易接受')
#如果交易完成
if order.status in[order.Completed]:
#如果交易型別是買
if order.isbuy():
self.log('買的價格,%.2f'%order.executed.price)
#如果交易型別是賣
elif order.issell():
self.log('賣的價格,%.2f'%order.executed.price)
self.bar_executed=len(self)
#如果交易交易取消,保證金不足,交易拒絕
elif order.status in[order.Canceled,order.Margin,order.Rejected]:
self.log('交易取消/保證金不足/交易拒絕')
self.order=None
#主交易函式
def next(self):
self.log('收盤價,%.2f'%self.dataclose[0])
#寫交易函式,連續下跌3天買入,連續上漲3天賣出
#如果今天的價格小於昨天的價格
if self.dataclose[0]<self.dataclose[-1]:
#如果昨天的價格小於前天的價格
if self.dataclose[-1]<self.dataclose[-2]:
#記錄買賣的價格
self.log('買的價格%.2f'%self.dataclose[0])
self.buy(size=200)#單位為股,代表1手
elif self.dataclose[0]>self.dataclose[-1]:
if self.dataclose[-1]>self.dataclose[-2]:
self.log('賣出的價格%.2f'%self.dataclose[0])
self.sell(size=100)
#簡單例子
if __name__=="__main__":
#將大腦例項化
cerebro=bt.Cerebro()
cerebro.addstrategy(testStrategy)
#加入資料
df=ak.stock_zh_a_daily(symbol=stock,start_date=start_date)
df.index=pd.to_datetime(df['date'])
data=btfeed.PandasData(dataname=df)
cerebro.adddata(data=data)
#設定開始資金
cerebro.broker.set_cash(int(start_cash))
#設定交易費用
cerebro.broker.setcommission(0.003)
print('開始值{}'.format(cerebro.broker.getvalue()))
cerebro.run()
print('最終值{}'.format(cerebro.broker.getvalue()))
cerebro.plot(style='candle')
plt.show()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69993319/viewspace-2897593/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 量化合約跟單系統開發(開發平臺)丨量化合約跟單開發原始碼功能原始碼
- 智慧量化合約跟單系統開發技術/量化交易/合約跟單交易
- BSEX交易所/量化合約交易/系統開發/跟單交易/DAPP智慧合約APP
- 【跟單交易開發】量化合約跟單對沖策略交易系統專案開發技術設計
- 現貨跟單量化/合約跟單/系統開發/量化合約交易/永續合約/秒合約解析
- 【跟單】去中心化量化合約跟單策略交易系統設計開發思路中心化
- 量化合約開發功能版丨量化合約系統開發(策略詳細)丨量化合約跟單原始碼成熟原始碼
- 合約跟單交易平臺系統開發(規則詳情)丨合約跟單交易平臺系統開發(穩定版)及原始碼原始碼
- 秒合約開發/量化合約系統技術開發/永續交割合約/現貨跟單交易
- 幣勝雲量化合約跟單交易系統程式設計技術開發分析程式設計
- 量化合約交易系統開發
- 量化交易/量化合約/合約量化/秒合約/永續合約/合約跟單/交易所繫統開發(策略及原始碼)原始碼
- Yes量化合約交易系統技術開發/原始碼/量化合約開發技術原始碼
- 合約跟單系統丨合約跟單系統開發(正式版)丨合約跟單開發原始碼說明原始碼
- 量化合約跟單系統開發(樣式搭建)合約量化原始碼系統開發流程原始碼
- 合約跟單開發說明丨合約跟單系統開發(方案及策略)丨合約跟單原始碼版原始碼
- 量化跟單機器人/系統程式設計開發技術/量化合約跟單交易策略模式機器人程式設計模式
- 秒合約跟單系統開發原始碼|秒合約交易模式系統開發原始碼模式
- 合約跟單系統開發/跟單量化交易機器人/合約交易技術開發詳情機器人
- 合約跟單系統|現貨跟單系統|跟單交易系統開發案例
- 量化合約/合約量化/合約跟單/交易所繫統開發實現技術原理及案例原始碼原始碼
- 量化合約/合約量化/合約跟單系統開發(策略及詳細)案例原始碼原始碼
- 量化跟單交易機器人/系統開發原理/合約跟單交易策略機器人
- 量化合約開發說明丨量化合約系統開發(方案及策略)及案例原始碼原始碼
- 合約跟單/系統開發解析/合約策略交易/量化跟單技術開發解析
- 量化跟單/秒合約/原始碼系統開發/永續合約量化交易開發技術分析原始碼
- HASH量化合約交易系統技術開發分析
- 關於合約跟單交易所繫統開發(原始碼)|合約交易搭建原始碼
- 量化合約/合約量化/秒合約系統開發/永續合約/合約跟單
- 量化合約跟單/系統開發技術/跟單機器人/技術開發詳情機器人
- 合約跟單/交易所開發方案,合約跟單/交易所繫統開發(穩定版)丨原始碼詳細原始碼
- 量化合約/合約量化/合約跟單/對沖搬磚/交易所繫統開發成熟及方案丨原始碼案例原始碼
- 期貨量化合約交易系統開發多少錢一套?(期貨量化合約交易系統開發流程)
- 現貨跟單/合約跟單/系統技術開發/量化交易/永續合約技術分析
- 數字貨幣交易所/合約跟單/秒合約/永續合約/量化合約/合約量化系統開發詳細策略及原始碼原始碼
- 合約跟單系統開發(原始碼案例)丨合約跟單開發原始碼案例部署原始碼
- 現成跟單量化合約模式系統開發原始碼搭建(技術介紹)模式原始碼
- 合約跟單/交易所繫統開發(開發demo),合約跟單/交易所繫統開發(邏輯及案例)