- 博客(74)
- 收藏
- 关注
原创 统计学笔记 一
一、信息图形化同样的数据在图表上显示的时候,如果坐标轴设置不一样,其表现的结果可能差别很大。因此,图表既可以证明结果,也可以用来说谎。频数“频数”表示在一个特定组,或者说在一个特定敬意内的统计对象的数目,类似于数数。饼图饼图体现比例。在设计以百分数为表现内容的图形时,请考虑这样一条黄金定律:设法指定出频数——或是将频数标在图形中间,或是标在图形旁边,均可。条形图有:垂直条形图...
2019-04-20 16:36:45 967
原创 量化交易-MACD(分钟、日、周、月、年级别)研究
MACD(分钟、日、周、月、年级别)研究最近和朋友一直在研究 MACD方面的策略,看到社区里很多人都在问分钟、周级别的MACD如何写,这里我就直接把代码放出来,分享给各位有需求的朋友!今后,将会陆续推出其它指标的不同时段研究主题!如果对你有帮助,希望点下赞 O(∩_∩)O哈哈~先上封装好的方法,方便各位复制import pandas as pdimport numpy as npi...
2018-11-13 11:15:19 6385 4
原创 量化交易-MACD策略学习
MACD的基本概念,可以参考 https://www.joinquant.com/post/7095?f=18newyearjx ,感谢 Quant中找米吃的阿鼠 和 聚宽小秘书 Thanks♪(・ω・)ノ我认为MACD不适合采用轮动策略,经过回测,我将策略改成以下模式:
2018-11-04 15:45:25 10912 2
原创 数据可视化-Matplotlib绘制随机漫步数据
创建 RandomWalk() 类该类有三个属性,分别表示漫步的次数、x坐标列表和y坐标列表生成随机漫步值的方法每次生成一个随机方向的值,添加到x/y坐标列表中# 导入random模块from random import choice# 定义生成随机漫步数据的类class RandomWalk(): """一个生成随机漫步数据的类""" def __ini...
2018-11-03 20:29:23 777
原创 量化交易-简单市值轮动策略学习
本文章的学习内容参考自 https://www.joinquant.com/post/6596?f=18newyearjx 感谢 @JoinQuant-TWist 和 @聚宽小秘书根据个人习惯,对代码进行了调整
2018-11-03 14:32:21 1584
原创 量化交易-白马股策略学习
本文章的学习内容参考自 https://www.joinquant.com/post/6879?f=18newyearjx 感谢 @Quant中找米吃的阿鼠 和 @聚宽小秘书根据个人习惯,对代码进行了调整_白马股条件每股收益(eps)>0.3净资产收益率(roe)>15%20<市盈率(pe ratio)<45净利润增长率(inc_net_profit_ann...
2018-11-02 15:12:01 1488
原创 数据可视化-Matplotlib绘制简单折线图
要查看使用matplotlib可制作的各种图表,请访问 http://matplotlib.org/ 的示例画廊。单击画廊中的图表,就可查看用于生成图表的代码。import matplotlib.pyplot as pltsquares = [1, 4, 9, 16, 25]plt.plot(squares)plt.show()解析:首先要导入pyplot模块,这里还给它指定...
2018-11-01 12:46:32 709
原创 Python干货-装饰器与偏函数
装饰器装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景。装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码并继续重用。概括的讲,装饰器的作用就是为已经存在的函数或对象添加额外的功能。举个...
2018-10-30 16:03:58 200
原创 量化交易入门笔记-KDJ指标研究
KDJ概念KDJ指标又叫随机指标,是一种相当新颖、实用的技术分析指标,它起先用于期货市场的分析,后被广泛用于股市的中短期趋势分析,是期货和股票市场上最常用的技术分析工具。KDJ计算方法KDJ的计算比较复杂,首先要计算周期(n日、n周等)的RSV值,即未成熟随机指标值,然后再计算K值、D值、J值等。以n日KDJ数值的计算为例,其计算公式为n日RSV=(Cn-Ln)/(Hn-Ln)×100...
2018-10-29 20:44:02 4220 1
原创 Python干货-变量的作用域
在Python程序设计中,程序的变量并不是在哪个位置都可以访问的,访问权限决定于这个变量是在哪里赋值的变量作用域变量的作用域一共分4种:局部作用域(Local)闭包函数外的函数中(Enclosing)全局作用域(Global)内建作用域(Built-in)变量的访问顺序为:先查找局部作用域,如果没有则在装饰函数外的函数中查找,如果没有则在全局作用域查找,如果没有则在内建作用域...
2018-10-29 13:28:28 183
原创 Python干货-函数式编程之闭包
返回函数高阶函数不仅可以返回值,还可以返回一个函数示例:def sum_func(*args): def sum(): ax = 0 for n in args: ax = ax + n return ax return sum上例中的sum_func函数内部另定义一个函数sum,sum函数被ret...
2018-10-28 15:58:17 303
原创 人工智能TensorFlow-非线性回归
import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt# 生成两百个随机点x_data = np.linspace(-0.5, 0.5, 200)[:,np.newaxis]# 生成与x_data形状一样的干扰值noise = np.random.normal(0, 0.02, x_data.s...
2018-10-27 23:04:37 325
原创 Python干货-函数式编程之高阶函数
认识高阶函数函数与变量print(abs(-1))1上例中,abs() 是 python 内置函数,用来求一个数值的绝对值就以这个函数为例,abs() 是个函数,那 abs 是这个函数的名字,() 才定义其是一个方法,如果只输入 abs,会发生什么情况?abs&lt;function abs&gt;从输出上来看,abs 是一个方法也就是说,abs 是一个方法的名,它指向...
2018-10-27 18:44:52 416
原创 Python干货-Numpy浅拷贝与深拷贝
# 专稿numpyimport numpy as np创建操作的数据源a = np.arange(4)print(a)[0 1 2 3]浅拷贝b = aprint(a)print(b)[9 1 2 3][9 1 2 3]现在a与b的值是一样的,如果此时改变a的值,b的值会发生什么情况呢?# 改变a中第一个元素的值a[0] = 9print(a)prin...
2018-10-26 15:11:08 4746 3
原创 Python干货-Numpy的ndarray的合并与分割
# 导入numpyimport numpy as npndarray的合并定义要使用的数据源a = np.array([1, 1, 1])b = np.array([2, 2, 2])print('a', a)print('b', b)<class 'numpy.ndarray'>a [1 1 1]b [2 2 2]numpy.vstack()函数语法...
2018-10-26 14:02:23 19929
原创 Python干货-Numpy索引与迭代
# 导入numpyimport numpy as np一维数组与二维数组中的索引# 定义一个由3到14数列数组的arraya = np.arange(3, 15)# 打印这个arrayprint(a)# 访问索引为2位置的元素print(a[2])[ 3 4 5 6 7 8 9 10 11 12 13 14]5# 定义一个3行4例,由3到14组成的二维数...
2018-10-26 10:41:52 529
原创 Python干货-Numpy基础计算
numpy基础运算import numpy as np创建两个array用于运算# 创建一个array,拥有四个元素a = np.array([10, 20, 30, 40])# 使用arange创建一个array,也是拥有四个元素b = np.arange(4)numpy中的减法运算c = a - b# 输出结果print(a)print('-'*20)print...
2018-10-25 22:10:48 431
原创 人工智能TensorFlow-简单的训练示例
import tensorflow as tfimport numpy as np# 使用numpy生成100个随机点x_data = np.random.rand(100)# 下面的公式相当于一条直线,斜率是0.1,偏移量是0.2y_data = x_data * 0.1 + 0.2# 构造一个线性模型b = tf.Variable(0.)k = tf.Variable(0...
2018-10-23 16:48:14 950
原创 人工智能TensorFlow-Fetch和Feed
import tensorflow as tf Fetch的概念Fetch指同时运行,意思是在Session中可以同时执行多个OP,得到其运行的结果input1 = tf.constant(3.0)input2 = tf.constant(2.0)input3 = tf.constant(5.0)add = tf.add(input2, input3)mul = tf.mult...
2018-10-23 16:44:35 221
原创 人工智能TensorFlow-变量的使用
import tensorflow as tf 用Variable()来定义变量# 定义一个变量x = tf.Variable([1, 2])# 定义一个常量 a = tf.constant([3, 3])# 定义一个减法的opsub = tf.subtract(x, a)# 定义一个加法的opadd = tf.add(x, sub)# 变量初始化opinit = t...
2018-10-23 16:39:43 245
原创 人工智能TensorFlow-构建图
基本使用使用 TensorFlow, 你必须明白 TensorFlow:使用图 (graph) 来表示计算任务.在被称之为 会话 (Session) 的上下文 (context) 中执行图.使用 tensor 表示数据.通过 变量 (Variable) 维护状态.使用 feed 和 fetch 可以为任意的操作(arbitrary operation) 赋值或者从其中获取数据....
2018-10-23 16:33:54 654
原创 人工智能TensorFlow-初识TensorFlow
转眼要接近2018年的尾巴了。感觉一年忙忙碌碌,所得甚少。也许是不能知足常乐的原因吧。这次决定涉足人工智能领域,因为认识到该领域的强大,便希望能与量化交易方面相结合,以达到更理想的效果。计划在年底前,熟练使用TensorFlow。预祝未来一年的自己,变得更好吧~TensorFlow 是一个用于人工智能的开源神器TensorFlow 中的tensor是张量的意思,flow是流动的意思。Te...
2018-10-23 16:21:09 443
原创 人工智能TensorFlow-环境搭建
找到一篇安装TensorFlow的博客文章,效率(偷懒)一下,直接使用转载自 Windows10下用Anaconda3安装TensorFlow教程这是我在自己的笔记本电脑上用Anaconda3安装TensorFlow的教程1. 安装好Anaconda3版本(1) 注:可以发现最新版本是Anaconda5了(没关系,下载就是了)(2) 注意安装anaconda时一定要把环境变量加...
2018-10-23 16:07:46 687
原创 量化交易入门笔记-小市值股票策略
'''筛选出市值介于20亿~30亿的股票选取其中市值最小的三只股票然后每天开盘买入,持有5个交易日,然后调仓'''import jqdatadef initialize(context): """初始化函数""" # 设定参考基准 set_benchmark('000300.XSHG') # 使用真实价格 set_option('use_r...
2018-10-19 21:06:48 2333
原创 量化交易入门笔记-银行股轮动策略
'''始终持有沪深300银行指数成分股中市净率最低的股价制银行每周检查一次,如果发现有新的股份制银行市净率低于原有的股票,则予以换仓'''import jqdatadef initialize(context): """初始化函数,设定要操作的股票、基准等""" # 设定沪深300银行指数作为基准 set_benchmark('399951.XSHE') ...
2018-10-19 21:00:29 1544
原创 量化交易入门笔记-多股票追涨策略
'''股票在当日收盘30分钟内涨幅达到9.5%~9.9%时间段,进行买入操作,在第二天开盘卖出需要注意的是,该策略需要按分钟进行回测'''import jqdatadef initialize(context): """初始化函数""" # 开启动态复权模式 set_option('use_real_price', True) # 每天买入股票数量...
2018-10-19 12:46:19 962
原创 量化交易入门笔记-多股票持仓策略
'''同时操作多只股票价格高于5天平均价*1.008,则买入价格小于5天平均价*0.996,则卖出'''import jqdatadef initialize(context): """初始化函数""" # 设置要操作的股票池 g.stocks = ['000001.XSHE', '000002.XSHE', '000004.XSHE', '000005....
2018-10-18 11:28:17 953
原创 量化交易入门笔记-KD指标策略
'''超买超卖型技术指标,即随机指标KD实现K在20左右向上交叉D时,则全仓买入K在80左右向下交叉D时,全仓卖出'''import jqdatafrom jqlib.technical_analysis import *def initialize(context): """初始化函数""" # 设定基准 set_benchmark('000300.X...
2018-10-18 11:24:34 3140 1
原创 量化交易入门笔记-能量型指标策略
'''能量型指标,即情绪指标BRAR、带着能量线CR、成效量变异率VR1当AR<40、BR<40、BR<AR、CR<40、VR<40时,买入股票当AR1>180、BR>400、C4>400、VR>450,卖出股票'''import jqdatafrom jqlib.technical_analysis import *def...
2018-10-18 11:19:32 1934
原创 量化交易入门笔记-MACD指标策略
'''实现DIFF、DEA均为正,DIFF向上突破DEA,买入股票;DIFF、DEA均为负,DIFF向下突破DEA,卖出股票'''import jqdatafrom jqlib.technical_analysis import *def initialize(context): # 要操作的股票 g.security = '000001.XSHE' # ...
2018-10-17 15:51:23 4908 1
原创 量化交易入门笔记-策略回测与评估
首先,编写一个简单的“双无线量化策略”代码如下:def initialize(context): &quot;&quot;&quot;双均线量化策略的初始化函数&quot;&quot;&quot; # 定义一个局部变量,保存要操作的股票 g.security = '000002.XSHE' # 万科A # 设定沪深300作为基准 set_
2018-10-15 12:56:26 9428
原创 量化交易入门笔记-数据获取函数 二
gt_fundamentals() 函数该函数可查询一只股票或多只股票的财务数据,其语法如下:get_fundamentals(query_object, date=None, statDate=None)参数解析:query_object : 这是一个 sqlalchemy.orm.query.Query 对象,可以通过全局的 query 函数获取 Query 对象date...
2018-10-11 14:01:41 5715 1
原创 量化交易入门笔记-数据获取函数 一
history()函数history()获取历史数据,可查询多个标的单个数据字段,返回数据格式为 DataFrame 或 Dict(字典),其语法格式如下:history(count, unit='1d', field='avg', security_list=None, df=True, skip_p...
2018-10-09 14:22:59 6918 3
原创 量化交易入门笔记-Datetime和Time模块
Python 中,通常有三种方式用来表示时间,分别是时间戳、格式化的字符串、元组(struct_time)方式时间戳一般来讲,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。可以运用"type(time.time())",返回的是 float 。返回时间戳方式的函数主要有 time(),clock()等格式化的时间字符串格式化的时间字符串表示时间,如"%Y...
2018-10-08 13:57:39 967
原创 量化交易入门笔记-Pandas库
Pandas 是基于 Numpy 构建的,让以 Numpy 为中心的应用变得更加简单Pandas 提供了大量快速便捷地处理数据的函数和方法,这也是使 Pandas 成为强大的高效的数据分析环境的重要因素之一Pandas 的数据结构主要有三种SeriesDataFramePanel一维数组 SeriesSeries 是由一组数据(各种 Numpy 数据类型),以及一组与之相关的标...
2018-10-07 17:45:21 3164 3
原创 量化交易入门笔记-Numpy库
Numpy 库是高性能科学计算和数据分析的基础包,不是 Python 的标准库,是 Python 的第三方库。这里使用JoinQuant量化交易平台免费提供的基于 IPython Notebook 的研究平台ndarray 数组基础Python 中用列表保存一组值,可将列表当作数组使用。此外,Python 有 array 模块,但它不支持多维数组,无论是列表还是 array 模块都没有科学...
2018-10-06 16:44:54 413
原创 量化交易入门笔记-策略常用对象
在股票量化策略中,还会用到一些常用的对象,如 Order 对象、全局对象 g 、Trade 对象等。下面详细讲解一下常用的对象Order 对象Order 对象常用的属性如下:amount : 下单数量,不管是买还是卖,都是正数filled : 已经成交的股票数量,正数security : 股票代码order_id : 订单 idprice : 平均成交价格,已经成交的股票的平均成...
2018-10-05 22:58:48 1813 1
原创 量化交易入门笔记-策略日志输出
日志可以用来记录应用程序的状态、错误和信息消息,也经常作为调试程序的工具设定 log 级别设定 log 级别语法格式如下:log.set_level(name, level)参数 name : 字符串,表示 log 的种类。有三种类型order - 表示调用 order 系列 API 产生的 loghistory - 表示调用 history 系列 API 产生的 logstr...
2018-10-05 17:03:45 679
原创 量化交易入门笔记-策略下单函数
按股数下单函数语法:order(security, amount, style=None, side='long', pindex=0)各项参数的意义:security-标的代码amount-交易数量,正数表示买入,负数表示卖出style-下单类型,有两种市价单 (MarketOrder)。市价单是指不论价格,接下单,直到交易全部完成。限价单 (LimitOrder) 。限...
2018-10-05 13:28:55 2394
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人