python商品期货T+0开平多空高频实盘量化交易模型架构

一、数据采集层
该层主要收集来自券商的实时交易数据,并将其存储到本地或云端数据库中,以方便后续的数据预处理和策略分析。

1、数据存储
《1》pandas:最重要的数据处理库之一,可以使用它来读取、处理和操作各种数据格式。通过其提供的DataFrame对象和Series对象,可以轻松地进行数据的筛选、清洗、转换等操作。例如,使用pandas.read_csv()函数从本地文件或远程服务器上读取股票/期货行情数据。
《2》pandas:提供数据操作功能,read_csv()可以读取csv格式文件中的数据,DataFrame()和Series()可以创建pandas中的DataFrame对象和Series对象。
下例:函数架构-用途注释

pandasread_csv():读取csv格式文件中的数据。DataFrame():创建一个pandas中的DataFrame对象。Series():创建一个pandas中的Series对象。

2、实时数据处理
《1》numpy:用来进行科学计算的一个基础库,提供了许多对数组进行元素级数学计算的函数。可以使用numpy.array()函数创建ndarray数组,并使用其提供的数学运算函数和统计分析函数,例如计算移动平均线(MA)等技术指标。
《2》numpy:提供科学计算功能,array()可以创建一个ndarray数组。
下例:函数架构-用途注释

numpyarray():创建一个ndarray数组。

3、券商接口选择
《1》tushare:一个免费、开源的股票/期货数据API,可以用来获取实时和历史行情数据。通过tushare.get_k_data()函数获取股票/期货的K线数据,来进行技术分析和量化交易。
《2》tushare:提供金融数据接口,get_k_data()函数可以获取股票/期货的K线数据。
下例:函数架构-用途注释

tushareget_k_data():获取股票/期货的K线数据。

4、数据收集子层

requests:提供HTTP请求相关的功能,get()函数可以获取网络上的资源,方便进行数据采集。scrapy:提供爬虫框架,可自定义爬虫代码,从各大网站抓取所需数据。

5、数据清洗和转换子层

dropna(): 删除缺失值。fillna(): 缺失值填充。merge(): 数据合并。sklearn.preprocessing:提供数据标准化的功能,如MinMaxScaler()可以将特征值缩放到指定的范围内。

二、数据预处理层
该层根据不同期货品种和行情分析需要,对采集到的数据进行一定程度的清洗、归一化等处理,以保证数据的准确性和可用性。同时还包括一些非线性策略和交易策略优化的设计和实现。

1、数据预处理
《1》scipy:用于科学计算和技术计算的第三方库,包括统计函数、线性代数、排序、滤波器、优化等功能。可以使用scipy.signal模块的滤波器函数,来对原始行情数据进行去噪处理,使其更易于分析和使用。
《2》scipy.signal:提供信号处理的功能,medfilt()函数可以对信号进行中值滤波处理。
下例:函数架构-用途注释

scipy.signalmedfilt():对信号进行中值滤波