京东量化教你如何量化选股

JD Quant50篇干货合集,揭开量化交易之谜 阅读原文:http://club.jr.jd.com/quant/topic/1176040 京东金融官方资讯QQ群:417082141 有什么想咨询的都可以来询问我们哦 本文梳理了目前常见的量化策略,并给出了一些入门的读物供大家学习参考。 目前量化策略主要包括多因子策略、统计套利、机器学习等,本文列出了这几类策略的框架,并列出了部分代表方法。 文章摘要 阅读详情

京东金融量化交流群:417082141

阅读原文:club.jr.jd.com/quant/to

思路:对于不同的股票,如果营业利润率上涨了相同的比例,而股价上涨幅度不同,那么就买入上涨幅度较小的。
具体选股策略:1、对沪深300所有股票计算当前价格p与一年前的价格p0的比例,并用这个比例除以(1+营业利润同比增长率)。2、筛选出营业利润同比增长率大于0的股票。3、选出前30只股票。
每日止损条件:1、低于买入价90%,2、沪深300近20个交易日收益率为负。
回测结果如下:

(备用图防止回测结果看不到)

原文有完整代码

阅读原文: club.jr.jd.com/quant/to



点宽网-量化选股方法(附代码) 博主把自己打比赛用的参考资料与打比赛的选股代码总结起来,里面都是关于量化的,代码是回测的框架。用的是点宽网的 立即下载

相关推荐

基于Java的A股量化分析平台源代码+数据库+接口文档,致力于提升个人投资水平及收益

基于Java的A股量化分析平台源代码+数据库+接口文档,致力于提升个人投资水平及收益

用python写一个股票量化交易的选股代码

很抱歉,作为一个语言模型,我并不能为您编写完整的代码。但是,我可以提供一些指导,帮助您实现选股的功能。 首先,您需要从数据源获取股票的历史数据,例如股票的价格,成交量等。可以使用如pandas这样的数据处理库来帮助您读取和处理数据。 接下来,您需要编写一些选股策略。例如,您可以使用均线策略,即选择近期价格移动平均值(例如20日移动平均值)大于长期价格移动平均值(例如200日移动平均值)的股票。 最...

weixin_42576804的博客 1134

ADAS系统架构与核心功能解析:从感知到执行的智能驾驶方案

高级驾驶员辅助系统(ADAS)是现代汽车智能化的核心技术,其本质是通过传感器融合、算法决策与车辆控制,构建一个“感知-决策-执行”的闭环系统。在技术原理上,ADAS依赖摄像头、毫米波雷达、激光雷达等多源传感器进行环境感知,并通过深度学习模型与融合算法(如卡尔曼滤波)构建精准的环境模型。其技术价值在于提供主动安全冗余与驾驶舒适性,核心应用场景包括自动紧急制动(AEB)、自适应巡航(ACC)及车道保持辅助(LKA)等。随着传感器成本下降与域控制器算力提升,ADAS正从高端配置向主流车型快速普及,并逐步向高阶导航

weixin_31062533的博客 417

经典的股票/期货量化交易策略,拿来即用的Python策略源码

声明:本文策略源码均来自掘金量化示例策略库,仅供参考! 一、股票策略 1.多因子选股 # coding=utf-8 from __future__ import print_function, absolute_import, unicode_literals import numpy as np from gm.api import * from pandas import ...

量化交易研究 1万+

IMU标定中的Allen方差

Allen方差 Allen方差是IMU标定任务中的常用工具。IMU标定可以分为确定性误差和随机误差,确定性误差包括:scale、bias、misalignment。随机误差则主要是高斯白噪声和bias随机游走。Allen方差主要用于标定随机误差。 Allen方差获取 Allen方差的计算方法如下: 保持IMU静止, 采集N个数据点。 将N个点定长分组,常用的交叠式Allen方差如下(n=3): 对于每个子集,计算均值后,计算相邻两组的方差,得到的时间-方差曲线即为Allen方差。 Alle

realjc的博客 5734

Claude Code Router 401错误修复

claude code router配置相关环境变量问题

如沐春风 6358

(转)JD-Quant量化交易平台设计:延迟latency

低延迟系统结构的起源现在计算机硬件速度已经足够的快,而且越来越快。我们的交易策略能够实时处理海量数据并立即做出决策。

代码过客 1499

MATLAB闪退别慌!5分钟搞定Windows系统预设文件修复(附详细截图)

本文针对MATLAB在Windows系统下频繁闪退的问题,提供了快速有效的解决方案。核心在于修复或重置损坏的MATLAB预设文件,通过图文并茂的五步法,指导用户定位AppData目录、重命名预设文件夹,从而让MATLAB自动生成全新配置以解决闪退。文章还涵盖了问题诊断、设置备份及进阶排查方法,帮助用户彻底根除启动故障。

weixin_29234423的博客 925

自己做量化交易软件(32)小白量化实战6--仿通达信公式选股

自己做量化交易软件(32)小白量化实战6–仿通达信公式选股 炒股也要有师傅。有一种低成本的师傅就是“书籍”了,这是市场中的投资名家经过多年实践总结出来的真知灼见,它可以使股民的投资水平陡然上升。事实上,很多股民在实际的交易过程中常常出现数千或数万元的盈亏,而一本书的价格只相当于其中的百分之一、千分之一甚至万分之一。他们在面临千元、万元的斩仓时往往毫不犹豫,可却吝啬地不愿支出一本买书的钱。这就像那些宁愿白白等候和空手而归,也不愿看钓鱼的书和请钓鱼师傅指导的人一样,他们当然不可能享受到在股市中“钓鱼”的乐趣了。

hepu8的博客 7966

KEIL 5.38如何手动安装ARM Compiler V5?完整配置流程分享

本文详细介绍了在KEIL 5.38环境下手动安装和配置ARM Compiler V5(AC5)的完整流程,解决历史遗留项目的兼容性问题。从获取安装包、环境变量设置到KEIL集成配置,逐步指导开发者完成AC5的部署,并提供了常见错误排查和性能优化建议,帮助开发者高效维护基于C编译器的老项目。

weixin_29168813的博客 628

【Bug已解决】codex: tool call timeout / Function execution exceeds limit — CodeX CLI 工具调用超时解决方案

CodeX CLI 工具调用超时(Bash/文件/MCP)的解决方案,含增加超时、拆分命令、后台运行、避免交互卡住与限制读取。

博客 4204

京东量化教你赚钱钱(二)

京东金融量化交流群:417082141 原文阅读:京东量化平台(quant.jd.com)-全方位量化策略开发平台。量化交易、量化投资、云端在线编程、策略历史回测、实盘模拟、量化社区 本期将如何进行量化选股 原帖子在这里:http://club.jr.jd.com/quant/topic/970449 因为京东说我贴的代码超过2000个字了,竟然不能在原贴回复。 首先我把他的要求

JDquant的博客 1768

【ubuntu24.04】auto remove后,重启,kernel panic ,please reboot your computer vfs unable to mount root fs

Ubuntu 24.04系统在运行auto remove后出现内核恐慌(kernel panic)无法启动,显示"VFS: unable to mount root fs"错误。该问题是由于当前内核被清除导致系统无法挂载根分区。解决步骤包括:1)尝试用GRUB菜单中的旧内核启动;2)在GRUB中临时编辑启动参数;3)使用Ubuntu启动盘进行chroot修复;4)使用Boot-Repair工具一键修复。成功启动后,需要重新安装linux-generic等元包,重建initramfs并更新

突围 1209

量化选股宝三步走,京豆礼包你拿走

活动地址:http://quant.jd.com/active/newUser 京东金融官方资讯QQ群:456448095 有什么想咨询的都可以来询问我们 即日起至2017年6月30日,使用京东选股宝并且将创建策略发布到策略榜,动动手指就能够获取京东量化平台送出的3000京豆回馈礼! Step1:进入京东量化首页点击选股宝 Step2:选择生成策略代码

JDquant的博客 898

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

京东量化手把手教你写“法玛三因子”策略

阅读原文:京东量化平台(quant.jd.com)-全方位量化策略开发平台。量化交易、量化投资、云端在线编程、策略历史回测、实盘模拟、量化社区 京东金融量化交流群:417082141 [入门教程],大神轻拍! “法玛三因子”是个什么鬼? 尤金-法玛、彼得-汉森和罗伯特-希勒这三位学者因对资产定价领域的相关贡献得奖是2013年的诺贝尔经济学奖一个非常热门的话题。 就是上面这个老头他提

JDquant的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

搭建系统|不用数据库选股也行!利用Pandas特性的GUI版基本面选股工具

前言前几期我们搭建了自定义的量化行情/回测框架:搭建系统|听说backtrader很不错!把它集成到本地GUI回测平台中!搭建系统|在线改策略很便捷!试一试本地GUI回测平台动态改策略搭...

hangzhouyx的博客 837

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

这样选股的流程还不赚钱吗!股票量化分析工具QTYX-V2.1.7

前言股票分析中选股是很重要的一个环节,特别是在市场走势普遍向好的环境下,选股比择时更为重要。原因很简单,就是资金的使用效率要最大化。比如同样的资金在同样的持股时间下,你的股票只涨了10%,...

hangzhouyx的博客 814

业绩预增选股!股票量化分析工具V2.0如何分析全市场业绩预告

选股环节一定要结合个股基本面做分析,所以分析上市公司的财务数据是十分必要的,至少可以帮助投资者“避雷”。相对来说,业绩好的上市公司股价上涨的潜力也更大,所以选股时业绩指标是非常关键的。A股...

hangzhouyx的博客 1138

多因子量化选股模型的筛选和评价:打分法与回归法

多因子选股模型在模型搭建中,往往会涉及到非常多的股价影响因子,并可能导出数量极多的备选模型。因此,对于多因子选股模型的评价和筛选,就显得尤为关键。对于专业的量化投资人而言,就需要进一步了解多因子选股模型的两种主要的评价判断方法——打分法和回归法。  1、打分法的评价原理和流程       所谓打分法,就是根据各个因子的大小对股票进行打分,然后按照一定的权重加权得到一个总分

JDquant的博客 1万+

搭建系统|量化小工具升级菜单架构,集成选股-回测-行情三大功能为一体

前言“搭建系统”专栏系列一直按以下的进程再不断地迭代开发工具:我一直强调要搭建属于适合自己的股票量化交易系统,而不是照搬着拿别人的来用呢。也就是说我们要掌握搭建的方法,不断去调整自己的系...

hangzhouyx的博客 826

A股-入门-新手该如何成功选股

阅读原文:http://club.jr.jd.com/quant/topic/1146348 王柯是京东股票的实力派牛人,这次我们京东量化请到他跟大家一起探讨一下新手该选什么类型的股票。         那么我们今天说什么呢?我们应该选择什么样的股票作为选股标的呢,我想说千人千法,每个股票的类型不一样,而且我们的性格也不一样,操作标的也不同。有的人性格急躁,喜欢操作短线强势股。有的

JDquant的博客 718

京东量化平台条件选股

get_sector get_sector(code_or _name) 获取一个板块的所有股票,此函数返回股票代码的list。 参数 类型 描述 code_or _name str 可以传入板块代码或板块名称 示例: #获取所有金融板块的股票, 设为股票池 sto

qq_36138213的博客 935

京东量化多策略混合,实现4月超额相对收益

阅读原文:http://club.jr.jd.com/quant/topic/1354328 京东金融官方资讯QQ群:456448095 有什么想咨询的都可以来询问我们 一个策略写不够? 大家可以把自己多个不相关策略混合起来看整体收益 从选股池,核心策略判断,持仓日期,止盈止损,策略个性化参数,以及买卖点的设置,各自互相独立,方便测试和修改。 Select函数是策略核心,

JDquant的博客 746

搭建系统|升级基于财务数据的选股工具!从清单中剔除ST股和次新股

前言前几期我们搭建了自定义的量化行情/选股/回测框架:搭建系统|“财务数据选股工具”如何与“多维度股票行情分析工具”完成无缝切换搭建系统|升级基于财务数据的选股工具!添加上日历和排序功能...

hangzhouyx的博客 1851
上一篇: 京东量化教你赚钱钱(二)
下一篇: 如何创建一个简单的买卖止盈止损分时买卖框架 1
JDquant
博客等级 码龄10年 326粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值