- 博客(202)
- 收藏
- 关注
原创 量化交易策略建模综述
一、常见的features(一)time lags(二)(三)(四)CCICCI = (Typical price - MA of Typical price) / (0.015 * Standarddeviation of Typical price)(五)Ease of Movement(EVM)(六)Distance moved = ((Current High + Current Low)/2 - (Pior High + Pior Low)/2)(七)MA(八)Rate
2020-07-10 12:26:06
2010
原创 量化数据库的搭建
一、数据的获得与存储(一)建立数据库的意义1、建模(1)模型建立(2)模型评估(3)模型回测(4)风险控制2、交易3、目的能存能取(二)数据的获取1、 http://tushare.org/index.html2、Yahoo Financehttp://finance.yahoo.com3、Google Financehttps://www.google.com/finance4、Quant Quotehttps://www.quantquote.com(S&P50
2020-07-08 17:11:02
1103
原创 量化交易系统综述
一、CAPM ModelPortfolio 资产组合[a%, b%, c%]abs(a%)+abs(b%)+ abs(c%) = 100%二、个股的CAPM model
2020-07-07 20:04:45
969
原创 机器学习与量化交易简单介绍
一、算法交易利用自动化平台,执行预先设置的一系列规则完成交易行为。二、量化交易的优势(一)历史数据评估(二)执行高效(三)无主观情绪输入(四)可度量评价(五)交易频率三、量化交易的劣势(一)成本(二)技巧四、量化交易的流程大前提:基于某种平台(一)提出假设(二)建立模型(三)回测验证(四)执行交易五、交易策略的来源(一)市场微观结构研究(for HFT mostly)(二)基金结构套利(fund structure arbitrage)(三)机器学习/人工智能六、深
2020-07-06 14:50:22
1843
原创 RNN
一、RNN概念循环神经网络(Recurrent Neural Network, RNN)是一类以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)。二、LSTM(Long Short Term Memory)...
2020-06-30 13:47:36
294
原创 卷积神经网络
一、传统神经网络存在的问题(一)权值太多,计算量太大(二)权值太多,需要大量样本进行训练二、局部感受野1962年哈佛医学院神经生理学家Hubel和Wiesel通过对猫视觉皮层细胞的研究,提出了感受野 (receptive field)的概念,1984年日本学者Fukushima基于感受野概念提出的神经认知机 (neocognitron)可以看作是卷积神经网络的第一个实现网络,也是感受野概念在人工神经网络领 域的首次应用。三、卷积神经网络CNNCNN通过感受野和权值共享减少了神经网络需要训练的参
2020-06-29 18:05:41
2648
原创 tensorflow中的优化器
Optimizer:tf.train.GradientDescentOptimizertf.train.AdadeltaOptimizertf.train.AdagradOptimizertf.train.AdagradDAOptimizertf.train.MomentumOptimizertf.train.AdamOptimizertf.train.FtrlOptimizertf.train.ProximalGradientDescentOptimizertf.train.Proxim
2020-06-28 11:10:09
436
原创 损失函数和过拟合
一、二次代价函数(quadratic cost)其中,C表示代价函数,x表示样本,y表示实际值,a表示输出值,n表示样本的总数。为简单起见 ,同样一个样本为例进行说明,此时二次代价函数为:a=σ(z), z=∑Wj*Xj+bσ() 是激活函数假如我们使用梯度下降法(Gradient descent)来调整权值参数的大小,权值w和偏置b的梯度推导 如下:其中,z表示神经元的输入,σ表示激活函数。w和b的梯度跟激活函数的梯度成正比,激活函数的 梯度越大,w和b的大小调整得越快,训练收敛得就越快
2020-06-28 10:24:59
1922
1
原创 用tensorflow实现MNIST数据集分类简单版本
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data#载入数据集mnist = input_data.read_data_sets(‘MNIST_data’,one_hot=True)#每个批次大小batch_size = 100#计算一共有多少个批次n_batch = mnist.train.num_examples // batch_size#定义两个placeholderx
2020-06-27 10:27:14
378
原创 softmax函数
softmax模型可以用来给不同的对象分配概率比如输出结果为[1,5,3]e1 = 2.718e3 = 20.086e5 = 148.413e1+e5+e3 =171.217
2020-06-27 10:24:48
212
原创 tensorflow非线性回归实例
import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt#使用numpy生成200个随机点,并增加维度(200,1)x_data = np.linspace(-0.5, 0.5, 200)[:, np.newaxis]noise = np.random.normal(0, 0.02, x_data.shape)y_data = np.square(x_data) + noise#定义两个placeholde
2020-06-26 18:29:34
359
原创 tensorflow简单示例
import tensorflow as tfimport numpy as np#使用numpy生成100个随机点x_data = np.random.rand(100)y_data = x_data * 0.1 + 0.2#构造一个线性模型b = tf.Variable(0.)k = tf.Variable(0.)y = k * x_data + b#二次代价函数loss = tf.reduce_mean(tf.square(y_data - y))#定义一个梯度下降法来进行训练的
2020-06-26 15:41:27
388
原创 tensorflow里面的Fetch和Feed
例子一:import tensorflow as tf#Fetch表示同时运行两个opinput1 = tf.constant(3.0)input2 = tf.constant(3.0)input3 = tf.constant(3.0)add = tf.add(input2,input3)mul = tf.multiply(input1,add)with tf.Session() as sess:result = sess.run([mul,add])print(result)例子二:
2020-06-26 15:09:12
235
原创 tensorflow变量
import tensorflow as tfx = tf.Variable([1,2])a = tf.constant([3,3])#增加一个减法opsub = tf.subtract(x,a)#增加一个加法opadd = tf.add(x,sub)#初始化变量init = tf.global_variables_initializer()with tf.Session() as sess:sess.run(init)print(sess.run(sub))print(sess.r
2020-06-25 22:48:51
157
原创 tensorflow的创建图、启动图
一、基本概念(一)使用图(graphs)来表示计算任务(二)在被称之为会话(Session)的上下文(context)中执行图(三)使用tensor表示数据(四)通过变量(Variable)维护状态(五)使用feed和fetch可以为任意的操作赋值或者从其中获取数据Tensorflow是一个编程系统,使用图(graphs)来表示计算任务,图(graphs)中的节点称之为op (operation),一个op获得0个或多个Tensor,执行计算,产生0个或多个Tensor。Tensor 看作是 一
2020-06-25 17:47:55
342
原创 tensorflow分布式案例
一、流程(一)创建集群对象(二)创建服务(三)服务端等待接受参数(四)客户端使用不同设备进行定义模型以进行计算(五)使用高级会话类二、代码实现import tensorflow as tfFLAGS = tf.app.flags.FLAGStf.app.flags.DEFINE_string(‘job_name’, ‘’, ‘启动服务的类型ps or worker’)tf.app.flags.DEFINE_integer(‘task_index’, 0, ‘指定ps或者worker当中的
2020-06-24 11:41:29
236
原创 tensorflow分布式的原理、架构以及更新参数模式
一、定义分布式Tensorflow是由高性能的gRPC框架作为底层技术来支持的。这是一个通信框架gRPC(google remote procedure call),是一个高性能、跨平台的RPC框架。RPC协议,即远程过程调用协议,是指通过网络从远程计算机程序上请求服务。RPC框架:远程过程调用,相当于是对底层协议的一个封装,解决一些传输错误和同步的问题,例如视频会议这些都需要用到RPC框架。分布式系统:hadoop、tensorflow二、计算机网络七层模型(一)应用层 http协议(二
2020-06-23 21:35:24
1435
原创 神经网络验证码识别
一、验证码识别原理分析实质是计算机识别像素二、流程三、代码实现import tensorflow as tfFLAGS = tf.app.flags.FLAGStf.app.flags.DEFINE_string(‘captcha_dir’, ‘D:\PycharmProjects\Mytest\深度学习.深度学习\tfrecords\captcha.tfrecords’,‘验证码数据的路径’)tf.app.flags.DEFINE_integer(‘batch_size’, 100,
2020-06-22 23:05:16
517
原创 卷积神经网络识别手写数字
一、流程(一)准备数据(二)卷积、激活、池化(两层)(三)全连接层(四)计算准确率二、分析数据维度三、代码实现import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_data定义一个初始化权重的函数def weight_variables(shape):w = tf.Variable(tf.random_normal(shape=shape, mean=0.0, stddev=1.0))
2020-06-21 13:28:16
482
原创 卷积神经网络介绍以及卷积层结构
动态观察视频http://playground.tensorflow.org/一、深层的神经网络深度学习网络与更常见的单一隐藏层神经网络的区别在于深度,深度学习网络中,每一个节点层在前一层输出的基础上学习识别一组特定的特征。随着神经网络深度增加,节点所能识别的特征也就越来越复杂。二、卷积神经网络(一)卷积神经网络与简单的全连接神经网络的比较1、全连接神经网络的缺点(1)参数太多,在cifar-10的数据集中,只有32323,就会有这么多权重,如果说更大的图片,比如2002003就需要1200
2020-06-20 09:14:54
2826
原创 神经网络基础知识
一、感知机模型概念有n个输入数据,通过权重与各数据之间的计算和,比较激活函数结果,得出输出。二、感知机的应用很容易解决与、或、非问题,解决分类问题。三、感知机与逻辑回归的联系与区别感知机用的是阈值,而逻辑回归用的是sigmoid激活函数。四、神经网络的概念在机器学习和认知科学领域,人工神经网络(artificial neural network,缩写ANN),简称神经网络(:neural network,缩写NN)或类神经网络,是一种模仿生物神经网络的结构和功能的计算模型,用于对函数进行
2020-06-19 22:17:16
1502
原创 Mnist数据集神经网络分析
Mnist数据的下载:http://yann.lecn.com/exdb/mnist/ 或者tensorflow里面自带了直接用数据集的组成:55000行的训练数据集(mnist.train)和10000行的测试数据集(mnist.test)。每一个MNIST数据单元有两部分组成:一张包含手写数字的图片和一个对应的标签,图片为黑白图片,每一张图片包含28像素28像素。把数组展开成一个向量,长度是2828=784。在MNIST训练数据集中,mnist.train.images是一个形状为[60000,78
2020-06-19 22:16:27
783
原创 tfrecords文件的读取与存储
一、TFRecords分析、存取(一)定义TFRecords是Tensorflow设计的一种内置文件格式,是一种二进制文件,它能更好的利用内存,更方便复制和移动。(二)目的为了将二进制数据和标签(训练的类别标签)数据存储在同一个文件中。(三)优点1、方便读取和移动(四)文件格式*.tfrecords(五)写入文件内容Example协议块(类字典格式)...
2020-06-17 12:08:44
415
原创 tensorflow占位符
占位符 tf.placeholder()用两个输入的占位符:矩阵x和向量w。这些输入是矩阵相乘以创建一个5个元素的向量xw,并加上一个填充了值为-1的常数向量b。最后,变量s通过使用tf.reduce_max()操作获取该向量的最大值。使用单词reduce是因为我们将一个5个元素的向量化归到一个标量。例如:import tensorflow as tfimport numpy as npx_data = np.random.randn(5,10)w_data = np.random.randn
2020-06-15 11:18:45
400
原创 二进制文件读取
数据源:https://www.cs.toronto.edu/~kriz/cifar-100-binary.tar.gz一、二进制文件读取APItf.FixedLengthRecordReader(record_bytes)(1)要读取每个记录是固定数量字节的二进制文件(2)record_bytes:整型,指定每次读取的字节数(3)return:读取器实例...
2020-06-14 19:06:40
2838
原创 图片文件读取
图片存取一般用unit8图片的处理一般用float一、图像读取API(一)图像读取器tf.WholeFileReader(1)将文件的全部内容作为值输出的读取器。(2)return:读取器实例(3)read(file_queue):输出将是一个文件名(key)和该文件的内容(值)(二)图像解码器1、tf.image.decode_jpeg(contents)(1)将JPEG编码的图像解码为uint8张量。(2)return:uint8张量,3-D形状[height, width, ch
2020-06-14 11:27:16
847
原创 图像基本知识分析
输入:特征值、目标值每个图片由像素组成的,图片的特征值即为像素值,像素跟图片的长宽是一样的。黑白图片:单通道图片,每一个像素点只有一个值,称为灰度值[0~255]。彩色图片:三通道图片,每一个像素点有三个值,称为RGB一、图像数字化三要素二、三要素与张量的关系三、图像基本操作(一)目的1、增加图片数据的统一性2、所有图片转换成指定大小3、缩小图片数据量,防止增加开销(二)操作1、缩放图片大小四、图像基本操作APItf.image.resize_images(images,
2020-06-13 08:52:43
525
原创 文件读取
一、文件读取流程(一)文件读取API-文件队列构造tf.train.string_input_producer(string_tensor,shuffle=True)将输出字符串(例如文件名)输入到管道队列1、string_tensor 含有文件名的1阶张量2、num_epochs:过几遍数据,默认无限过数据3、return:具有输出字符串的队列(二)文件读取API-文件阅读器根据文件格式,选择对应的文件阅读器1、class tf.TextLineReader:阅读文本文件逗号分隔值(CS
2020-06-12 15:37:45
306
原创 队列管理器和协程协调器实现异步读取训练
一、队列和线程(一)tensorflow队列1、在训练样本的时候,希望读入的训练样本时有序的2、tf.FIFOQueue 先进先出队列,按顺序出队列FIFOQueue(capacity, dtypes, name=‘fifo_queue’)创建一个以先进先出的顺序对元素进行排队的队列(1)capacity:整数。可能存储在此队列中的元素数量的上限;(2)dtypes:DType对象列表。长度dtypes必须等于每个队列元素中的张量数,dtype的类型形状,决定了后面进队列元素形状;(3)me
2020-06-11 17:58:21
261
原创 自定义命令行参数
一、二、tf.app.flags.,在flags有一个FLAGS标志,它在程序中可以调用到我们前面具体定义的flag_name三、通过tf.app.run()启动main(argv)函数
2020-06-11 11:57:58
473
原创 模型的保存与加载
一、tf.train.Saver(var_list=None,max_to_keep=5)var_list:指定将要保存和还原的变量。它可以作为一个dict或一个列表传递。max_to_keep:指示要保留的最近检查点文件的最大数量。创建新文件时,会删除较旧的文件。如果无或0,则保留所有检查点文件。默认为5(即保留最新的5个检查点文件)例如:保存:saver.save(sess, ‘/tmp/ckpt/test/model’)加载:saver.restore(sess, ‘/tmp/ckpt/te
2020-06-11 11:50:00
429
原创 增加损失值等变量显示
目的:观察模型的参数、损失值等变量值的变化一、收集变量(一)tf.summary.scalar(name=’’,tensor)收集对于损失函数和准确率等单值变量,name为变量的名字,tensor为值。(二)tf.summary.histogram(name=’’,tensor)收集高维度的变量参数。(三)tf.summary.image(name=’’,tensor)收集输入的图片张量能显示图片二、合并变量写入事件文件(一)merged = tf.summary.merge_all()(二)
2020-06-11 10:56:42
259
原创 trainable,学习率的调整,梯度爆炸
一、梯度爆炸/梯度消失(一)在极端情况下,权重的值变得非常大,以至于溢出,导致NaN值。(二)如何解决(深度神经网络(如RNN)当中更容易出现)1、重新设计网络2、调整学习率3、使用梯度截断(在训练过程中检查和限制梯度的大小)4、使用激活函数二、tensorflow变量作用域(观察变量的name改变)(一)tf.variable_scope(<scope_name>)创建指定名字的变量作用域(二)嵌套使用变量作用域...
2020-06-10 22:17:33
957
原创 变量和可视化学习
一、变量op(一)概念变量也是一种OP,是一种特殊的张量,能够进行存储持久化,它的值就是张量。1、变量op能够持久化保存,普通张量op是不行的2、当定义一个变量op的时候,一定要在会话当中去运行初始化(二)创建1、tf.Variable(initial_value=None,name=None)创建一个带值initial_value的新变量2、assign(value)为变量分配一个新值,返回新值3、eval(session=None)计算并返回此变量的值4、name属性表示变量名字
2020-06-09 20:08:58
377
原创 张量
一、tensorflow基本的数据格式二、一个类型化的N维度数组(tf.Tensor)三、三部分,名字,形状,数据类型(一)形状1、张量的静态形状创建一个张量或者由操作推导出一个张量时,初始状态的形状,对于静态形状,一旦张量形状固定了,不能再次设置静态形状,不能跨维度修改。1D->1D 2D->2Dtf.Tensor.get_shape:获取静态形状tf.Tensor.set_shape():更新Tensor对象的静态形状,通常用于在不能直接推断的情况下。例如:plt
2020-06-08 17:41:26
319
原创 神经网络常见激活函数的偏导数
一、sigmoid的偏导数计算公式g’(z)=a(1-a)二、tanh的偏导数计算公式g’(z)=1-a^2三、relu的偏导数计算公式g’(z)= 0(z<0),1(z>=0)四、leaky relu的偏导数计算公式g’(z)= 0.01(z<0),1(z>=0)
2020-06-07 12:51:14
1780
原创 tensorflow会话
一、会话的作用(一)运行图的结构tf.Session()运行TensorFlow操作图的类,使用默认注册的图(可以指定运行图)。例如:tf.Session(graph=某张图)(二)分配资源计算会话可能拥有很多资源,如 tf.Variable,tf.QueueBase和tf.ReaderBase,会话结束后需要进行资源释放。1、sess = tf.Session() sess.run(…)启动整张图 sess.close()2、使用上下文管理器with tf.Session(
2020-06-07 12:39:43
315
原创 tensorflow图的结构
一、加法运算二、基本概念数据流图:tensor:称为张量(即数据);operation(op):专门运算的操作节点,所有操作都是一个op;图:graph,即整个程序的结构;会话:运算程序的图。三、Tensorflow与其他框架的区别四、图(一)定义图默认已经注册,一组表示 tf.Operation计算单位的对象和tf.Tensor表示操作之间流动的数据单元的对象。(二)获取调用1、tf.get_default_graph()2、op、sess或者tensor的graph属性
2020-06-07 11:56:06
529
原创 tensorflow基本介绍
一、机器学习和深度学习的区别(一)机器学习1、算法分类:神经网络(简单)回归2、领域(二)深度学习1、算法神经网络(深度)图像:卷积神经网络自然语言处理:循环神经网络2、领域图像等二、CPU和GPU的区别(一)CPU运行操作系统,处理业务,计算能力不是特别突出,相当于一个高中生(二)GPU专门为计算设计的,计算的部件比较多,相当于1万个小学生三、tensorflow如何使用GPU只需要在程序当中使用一行代码四、tensorflow的安装...
2020-06-05 16:27:45
273
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人