教学贴: 如何从任意来源的账户成交记录csv 导入QA 并在界面查看
发布于 5 个月前 作者 yutiansut 386 次浏览 来自 文档

需求来源于我用rust写了个速度飞快的回测

在我写完回测以后 我把rust里面的QAAccount的数据导出到csv里面 这时候 我们要做的就是把csv的成交记录扔回来以便可视化分析

直接上代码


import pandas as pd
import QUANTAXIS as QA
user = QA.QA_User(username='admin', password='admin')
port = user.new_portfolio('rust')
debug_acc = port.new_account('Rust_T01B2_RBL8', market_type=QA.MARKET_TYPE.FUTURE_CN)
trade_his = pd.read_csv('acc.csv')
for _, item in trade_his.iterrows():
    debug_acc.receive_simpledeal(code= item['code'], trade_price=item['price'],
                                 trade_amount=abs(item['amount']),
                                 trade_towards= item['direction'],
                                 trade_time=item['datetime'])
print(debug_acc.history_table)
debug_acc.save()
Risk = QA.QA_Risk(debug_acc)
Risk.save()

效果图

image.png

4 回复

第一时间围观!

QA内部账户的历史成交数据可以用 acc.history_table.to_csv() 导出来

表头的字段 和属性

order_id, trade_id, realorder_id 分别是 内部委托id 成交id 和 发送出去给交易所的时候的返回委托id

回测的时候这个id可以随便填 不影响

pub code: String,
pub amount: f64,
pub price: f64,
pub datetime: String,
pub order_id: String,
pub trade_id: String,
pub realorder_id: String,
pub account_cookie: String,
pub commission: f64,
pub tax: f64,
pub message: String,
pub frozen: f64,
pub direction: i32

directron 或者叫towards的 可以下看下QAUtil的定义

    """订单的买卖方向

    BUY 股票 买入
    SELL 股票 卖出
    BUY_OPEN 期货 多开
    BUY_CLOSE 期货 空平(多头平旧仓)
    SELL_OPEN 期货 空开
    SELL_CLOSE 期货 多平(空头平旧仓)

    ASK  申购
    """

    BUY = 1
    SELL = -1
    BUY_OPEN = 2
    BUY_CLOSE = 3
    SELL_OPEN = -2
    SELL_CLOSE = -3
    SELL_CLOSETODAY = -4
    BUY_CLOSETODAY = 4
    ASK = 0
    XDXR = 5
    OTHER = 6

多账户合并导入的数据要按日期排序一下,不然统计的init_cash不正确

回到顶部