一、关于股票接口
首先要完成专业投资人认证,证监会要求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")
终于将这个窗口调了出来