VNPY源码(四)DataRecorder

0
一、源码 """ 注册EVENT_TICK、EVENT_CONTRACT,当有EVENT_TICK的时候,调用process_contract_event函数(其实就是record_tick函数), 将task put到queue 通过run函数,从self.queue获得task(Tick、Bar),调用database_manager的方法储存数据 """ from threading import Thread from queue import Queue, Empty from copy import copy from vnpy.event impo ...

VNPY源码(三)MainEngine及SubscribeRequest

0
负责所有引擎的实例化。 一、源码 位于C:\vnstudio\Lib\site-packages\vnpy\trader\engine.py下面。这个文件下面有:MainEngine、BaseEngine(ABC)、LogEngine(BaseEngine)、OmsEngine(BaseEngine)、EmailEngine(BaseEngine)共5个Engine。我们先学习MainEngine。 所有的gateway都放在self.gateways字典里面,对应vnpy UI界面的连接菜单的内容。 Subscribe逻辑: 1.add_gateway生成一个self.gateways字典 2 ...

VNPY源码(二)API获取行情和script_trader

0
一、init_cli_trading init_cli_trading位于C:\vnstudio\Lib\site-packages\vnpy\app\script_trader下面的cli.py文件中,这个文件夹下面还有其他的文件,但是通过 from vnpy.app.script_trader import init_cli_trading就可以导入进来了。 在C:\vnstudio\Lib\site-packages\vnpy\gateway\ctptest新建test.py文件。 from vnpy.gateway.ctp.ctp_gateway import CtpGateway from vnpy.app.script_trader i ...

VNPY源码(一)CTP封装及K线合成

0
一、接收行情、并由Tick生成1分钟K线的Demo # -*- coding: utf-8 -*- import thostmduserapi as mdapi class CFtdcMdSpi(mdapi.CThostFtdcMdSpi): tapi='' def __init__(self,tapi): mdapi.CThostFtdcMdSpi.__init__(self) self.tapi=tapi def OnFrontConnected(self) -> "void": #这个是在执行了join函数后执行的。 #它是底层d ...

老男孩量化金融二(matplotlib及双均线)

0
一、图表 1.图表类型 import matplotlib.pyplot as plt plt.hist() #频数直方图 plt.plot() #线图,传入序列,元组、列表、numpy.ndarray plt.pie() plt.bar() plt.show() plt.scatter() 2.画图 fig = plt.figure() 创建一块画布 #将fig分成2*2,1表示是第一个图 ax1 = fig.add_subplot(2,2,1) 二、双均线策略 import pandas as pd import numpy as np import matplotli ...

聚宽量化笔记

0
一、函数以及API API 二、如果是6开头的股票,要使用“600031.XSHG”这样的形式。 如果你要查看地更多的代码,可以看这里 三、现在推荐的写法: 以每天买入100股的平安银行为例 。 # 导入函数库 from jqdata import * def initialize(context): #这里是用来写初始化代码的地方,例子中就是选定要交易的股票为平安银行 run_daily(period,time='every_bar') g.security = '000001.XSHE' def ...

密码保护:海龟(二)

0
一、聚宽海龟代码: 成果展示: # 导入函数库 import jqdata import math import numpy as np import pandas as pd from collections import deque # 初始化函数,设定基准等等 def initialize(context): set_option('use_real_price', True) set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), ...

Python操作IB

0
一、国外期货手续费 二、IB操作指南: https://www.bilibili.com/video/av24924386 https://www.bilibili.com/video/av25790873

老男孩量化金融一(Pandas与Numpy)

0
一、Numpy概述 其实就是实现了一个Ndarray,其实就是更高级的列表。 为什么要用Ndarray,而不用列表? 因为Ndarray占用内存更少,运行速度更快。 Ndarray元素类型必须相同。 比如可以通过下面的命令查看占用内存的大小: import sys b = np.array(range(100)) sys.getsizeof(b) np.array([2,3,4]) #将列表转成Ndarray z = np.array([[1,2,3],[4,5,6]]) #多维数组 np.ara ...

Python股票自动交易(一)

0
一、获取国内股票代码 import tushare import pandas import datetime tickersRawDate = tushare.get_stock_basics() #日期是索引,所以这里是index.tolist tickers = tickersRawDate.index.tolist() print(tickers) 备注:使用to_CSV的话,使用excel打开会乱码,用sublime打开就不会了。 效果展示: 二、获取国外股票代码 import requests import pandas import io import datetime ...