什么是量化交易?确切地说,量化交易属于人工智能的一个应用分支,它利用计算机的强大运算能力,用数学模型来模仿人的思维作出决策,通过数据建模、统计学分析、程序设计等工具
区块链技术概括起来是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术。其实,区块链技术并不是一种单一的、全新的技术,而是多种现有技术整合的结果,这些技术与数据库巧妙地组合在一起,形成了一种新的数据记录、传递、存储与呈现的方式
区块链技术是一种新型互联网技术,它是一种公开的、分布式的账簿,可以有效核查和永久记录各方之间的交易。具体来说,它是由网络上一个个储存区块组成的相互连接的链条,在每个区块中,储存着一定时间内网络链条中所有交流信息的数据。由于数据在每个区块上都有实时记录,也就使得区块链具备去中心化和不可篡改的特点。
量化交易系统有很多种,包括跨平台搬砖、趋势交易、对冲交易等。
1、跨平台搬砖是指,当不同目标平台价差达到一定金额,在价高的平台卖出,在价低的平台买入。
2、趋势交易会更加复杂一些,它根据趋势的指标来发出卖出和买入的信号。
3、对冲是指同时进行两笔与行情相关、买卖方向相反、数量相当、盈亏相抵的交易,以达到对冲风险的效果。量化交易的特点量化交易是一个比较新的概念,它最鲜明的特征就是运用模型。
import requests
from time import sleep
from datetime import datetime,time
from dateutil import parser
#init,构造,初始化,实例化
class AstockTrading(object):
def init(self,strategy_name):
self._strategy_name=strategy_name
self._Dt=[]#交易时间
self._Open=[]#开盘价
self._High=[]#最高价
self._Low=[]#最低价
self._Close=[]#最新价
self._Volume=[【更全面的开发源码搭建可看我昵称】]
self._tick=[]#数据
self._last_bar_start_minute=None#最后一次更新bar的时间
self._isNewBar=False#是否有新bar
self._ma20=None
#当前订单,dict,字典
self._current_orders={}
#历史订单
self._history_orders={}
self._order_number=0
def get_tick(self):
headers={Referer:”https://finance.sina.com.cn“}
page=requests.get(“https://hq.sinajs.cn/list=sh600519“,headers=headers)
stock_info=page.text
mt_info=stock_info.replace(“””,””).split(“=”)[1].split(“,”)
#最新价
last=float(mt_info[1])
trade_datetime=mt_info[30]++mt_info[31]
self._tick=(trade_datetime,last)
def get_history_data_from_local_machine(self):
#tushare数据来源【更全面的开发源码搭建可看我昵称】
#self.Open=[1,2,3]
#self.High=[2,3,4]
pass
#how save and import history data?
#策略
def bar_generator(self):
#assume we have history data already
#1、update bars,calculate 5 minutes ma20,not daily data
#2、compare last and ma20->buy or sell or pass
#assume we have history data,Open,High,Low,Close,Dt
#这里可以是5minutes、10minutes、15minutes、20minutes、30minutes
if self._tick[0].minute%5==0 and self._tick[0].minute!=self._last_bar_start_minute:
self._last_bar_start_minute=self._tick[0].minute