返回顶部
首页 > 资讯 > 精选 >怎样为VNPY增加数据库记录交易数据功能
  • 138
分享到

怎样为VNPY增加数据库记录交易数据功能

2023-06-02 10:06:45 138人浏览 泡泡鱼
摘要

本篇文章为大家展示了怎样为VNPY增加数据库记录交易数据功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在VNPY中,并没有提供实际交易数据库记录功能,虽然可以通过第三方交易软件去读取,但是对于针

本篇文章为大家展示了怎样为VNPY增加数据库记录交易数据功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

在VNPY中,并没有提供实际交易数据库记录功能,虽然可以通过第三方交易软件去读取,但是对于针对单个策略交易效果验证还是不方便,这里说以下为VNPY增加数据库记录交易数据功能。

其实主要还是调用VNPY已经提供的功能。

在vnpy.trader.app.ctaStrategy.ctaBase中增加一个新的数据库。

按照你的习惯给名字,比如 DEAL_DB_NAME = 'VnTrader_DEAL_Db'

在vnpy.trader.app.ctaStrategy.ctaTemplate 中,增加一个新的function.

def insertData(self, dbName, collectionName, data):    if self.trading:        self.ctaEngine.insertData(dbName, collectionName, data)

在策略onTrade function中加入下面代码,用策略名字做collection名字

def onTrade(self, trade):    # 发出状态更新事件    """收到成交推送(必须由用户继承实现)"""    # 对于无需做细粒度委托控制的策略,可以忽略onOrder    t = trade    self.insertData(DEAL_DB_NAME,self.name,t)

 在策略代码中,如果没有DEAL_DB_NAME的引用会不成功,请在策略中加入引用

   from vnpy.trader.app.ctaStrategy.ctaBase import DEAL_DB_NAME
或者在

self.insertData(DEAL_DB_NAME,self.name,t)

直接写死,"DEAL_DB_NAME"

发现写入数据的交易时间tradeTime只有时间,没有日期,不方便分析。开了下源代码,修改vnpy.trader.app.ctaStrategy.ctaTemplate 比较简单。

如果发现插入数据是VtTradeData对象,修改tradeTime

from vnpy.trader.vtObject import VtTradeDatafrom datetime import datetimedef insertData(self, dbName, collectionName, data):    if self.trading:        if isinstance(data,VtTradeData):            data.tradeTime = datetime.now().strftime('%Y-%m-%d %H:%M:%S')        self.ctaEngine.insertData(dbName, collectionName, data)

上述内容就是怎样为VNPY增加数据库记录交易数据功能,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网精选频道。

--结束END--

本文标题: 怎样为VNPY增加数据库记录交易数据功能

本文链接: https://lsjlt.com/news/229731.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎样为VNPY增加数据库记录交易数据功能
    本篇文章为大家展示了怎样为VNPY增加数据库记录交易数据功能,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在VNPY中,并没有提供实际交易数据库记录功能,虽然可以通过第三方交易软件去读取,但是对于针...
    99+
    2023-06-02
  • 怎么使用navicat为数据库表增加新记录
    小编给大家分享一下怎么使用navicat为数据库表增加新记录,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!下面介绍如何使用Navicat为数据库表增加新记录的具体操作方法。推荐教程:navic...
    99+
    2024-04-02
  • mysql数据库增加记录的语法怎么写
    mysql数据库增加记录的语法怎么写?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql数据库增加记录代码是“INSE...
    99+
    2024-04-02
  • php怎么向数据库增加数据
    本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么向数据库增加数据?php往数据库添加数据前端代码:function submit_result() { ...
    99+
    2017-03-02
    php
  • 怎么在数据库中添加记录
    怎么在数据库中添加记录?可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。向数据库中添加记录的sql命令是INSERT INTO。INSERT INTO ...
    99+
    2024-04-02
  • 怎么为VNPY 2版本加入聚宽数据源
    本篇内容介绍了“怎么为VNPY 2版本加入聚宽数据源”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:# encoding:...
    99+
    2023-06-01
  • mysql亿级数据数据库优化方案测试-银行交易流水记录的查询
    对MySQL的性能和亿级数据的处理方法思考,以及分库分表到底该如何做,在什么场景比较合适? 比如银行交易流水记录的查询 限盐少许,上实际实验过程,以下是在实验的过程中做一些操作,以及踩过的一些坑,我觉得坑对于读者来讲是非常有用的。 ...
    99+
    2015-10-18
    mysql亿级数据数据库优化方案测试-银行交易流水记录的查询
  • PHP数据库函数实现数据的增删改查功能
    PHP数据库函数实现数据的增删改查功能摘要:数据库是存储和管理数据的重要组成部分。在开发Web应用程序时,经常需要对数据库进行增删改查的操作。PHP作为一种流行的服务器端编程语言,提供了丰富的数据库函数,用于实现数据的增删改查功能。本文将介...
    99+
    2023-11-20
    数据实现 增删改查功能 PHP数据库函数
  • dw怎么制作asp动态网页以及向数据库增加记录
    dw怎么制作asp动态网页以及向数据库增加记录,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。下面给大家介绍一下用dreamweaver制作asp动态网页时如何向数据库里边添加记...
    99+
    2023-06-08
  • mysql怎么增加数据库字段
    要在MySQL数据库中增加字段,需要使用ALTER TABLE语句。以下是一个示例: ALTER TABLE table_name ...
    99+
    2024-04-09
    mysql
  • mysql数据库怎么增加字段
    要在MySQL数据库中增加字段,可以使用ALTER TABLE语句。具体步骤如下: 打开MySQL数据库管理工具,连接到要操作的...
    99+
    2024-04-09
    mysql
  • JDBC怎么实现数据库增删改查功能
    这篇文章主要介绍JDBC怎么实现数据库增删改查功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:1、添加数据package cn.itcast.jdbc;import java.sql....
    99+
    2023-06-20
  • JDBC实现数据库增删改查功能
    JDBC,简单点来说,就是用Java操作数据库,下面简单介绍怎么实现数据库的增删改查功能。 1、添加数据 package cn.itcast.jdbc; import java...
    99+
    2024-04-02
  • 数据库中怎么使用insert增加一条数据
    要在数据库中插入一条数据,可以使用SQL语句中的INSERT INTO语句。具体步骤如下: 确定要插入数据的表名和字段名。 编写I...
    99+
    2024-04-02
  • 如何在MongoDB中实现数据的实时交易功能
    如何在MongoDB中实现数据的实时交易功能在现代互联网应用中,实时交易功能是非常重要的一部分。数据的实时交易是指当系统中的某个数据变更时,其他相关的数据能够实时地跟着变化。在这篇文章中,我们将讨论如何利用MongoDB来实现数据的实时交易...
    99+
    2023-10-22
    数据 MongoDB 实时交易
  • Ubuntu数据库怎么增加root用户
    要在Ubuntu中增加root用户,您可以按照以下步骤操作:1. 打开终端,使用以下命令以root身份登录:```sudo -i``...
    99+
    2023-08-25
    Ubuntu 数据库
  • 怎样为VNPY的K线序列管理工具ArrayManager增加对数收益率队列
    怎样为VNPY的K线序列管理工具ArrayManager增加对数收益率队列,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。在做策略建模的时候,经常需要把K线转换为...
    99+
    2023-06-02
  • MySQL数据库中怎么实现序列自增功能
    MySQL数据库中怎么实现序列自增功能,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、创建sequence表CREATE TABL...
    99+
    2024-04-02
  • mysql数据库怎么删除记录
    要删除 mysql 数据库中的记录,可以使用 delete 语句,语法为:delete from table_name where condition;其中 tabl...
    99+
    2024-08-05
    mysql
  • 如何屏蔽数据库中自增ID功能
    今天就跟大家聊聊有关如何屏蔽数据库中自增ID功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  在平时的项目开发中,我相信有很大一批人都在用这个数...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作