Home >  > 股票回测框架开发(一)

股票回测框架开发(一)

0

一、关于股票接口
首先要完成专业投资人认证,证监会要求300W金融资产,但是不同券商、不同营业部会在此基础上提高门槛,你需要找一家可以接入xtp的券商具体问下。
Q:请问您用的是哪家xtp?
A:中泰。

二、数据库
1.生成数据库
通过下面两行代码,即可在当前目录下生成一个stock-data.db的数据库。

import sqlite3

conn = sqlite3.connect('stock-data.db')

2.pd.to_sql()出错
写入太多列的数据到sqlite就出错“sqlite3.InterfaceError: Error binding parameter 13 - probably unsupported type.”,具体原因出在“下月资金曲线”这个字段。

不过后来只取ohlcv就可以了。

3.查询数据

import sqlite3

conn = sqlite3.connect('stock-data_last.db')
c = conn.cursor()
# c.execute("select * from admin_users2 where 收盘价>60")
c.execute("select * from admin_users2 where datetime( 交易日期)>=datetime('2017-05-01') and datetime(交易日期)<=datetime('2017-05-11')")
print(c.fetchall())

conn.commit()
conn.close()

加强版

import sqlite3
from datetime import datetime


start=datetime(2017, 5, 1).strftime('%Y-%m-%d')
end=datetime(2017, 5, 11).strftime('%Y-%m-%d')

conn = sqlite3.connect('stock-data_last.db')
c = conn.cursor()
sql = "select * from admin_users2 where datetime( 交易日期)>=('{}') and datetime(交易日期)<=('{}')".format(start,end)

# c.execute("select * from admin_users2 where 收盘价>60")
c.execute(sql)
print(c.fetchall())

conn.commit()
conn.close()

4.读取数据库的数据为dataframe

import sqlite3
import pandas as pd

start="2017-05-01"
end="2017-05-11"

conn = sqlite3.connect('stock-data_last.db')
c = conn.cursor()
sql = "select * from admin_users2 where datetime( 交易日期)>=datetime('{}') and datetime(交易日期)<=datetime('{}')".format(start,end)

df_pa = pd.read_sql_query(sql, conn)
print(df_pa.head())

参考:https://gitbook.cn/books/5d367c6ee84bee26fe808fe8/index.html#sqlite-1

三、主引擎
1.关于cta_strategy_setting.json
这个默认是在C:\Users\Administrator\.vntrader,如果要修改,则需要修改\trader\utility.py文件中的代码

TRADER_DIR, TEMP_DIR = _get_trader_dir(".strategy_info")

终于将这个窗口调了出来

本文暂无标签

发表评论

*

*