股票交易

股票交易是金融市场中的核心活动,它代表着投资者对公司未来盈利能力的预期以及对应的风险评估。在交易中,投资者通过买卖股票来参与公司的经营成果,并承担相应的市场风险。股票价格受多种因素影响,包括公司业绩、行业前景、市场情绪等,因此交易者需具备深厚的分析能力和敏锐的市场触觉。股票交易不仅是资本配置的重要手段,也是实现投资增值的主要途径,它在推动经济发展和企业成长方面发挥着不可替代的作用。

一字涨停策略简单实现

一字涨停是指股票在当日开盘后一直处于涨停状态,即股价连续涨停,无法交易。一字涨停策略的目的是在股票出现一字涨停时,尽可能地捕捉到股票的上涨趋势,以获取更高的收益。在平台的预计算因子表中包含一字涨跌停字段line_price_limit,因此,本文将利用该字段对一字涨停策略进行一个简单的实现。

策略流程

  1. 过滤ST、停牌、北交所股票
  2. 根据line_price_limit字段筛选出一字涨停且成交金额amount>10000的股票
  3. 令成交笔数deal_number为score,并按照降序排列,同时设置持仓票数为25,等位持仓
  4. 调仓天数为3

提示

需要注意的

更新时间:2024-05-23 07:56

大盘风控与个股风控(止盈止损)

策略介绍

本策略主要讲解如何在策略中加入个股风控与大盘风控逻辑。

  • 个股风控:个股价格低于某一价格时,但是不影响其他股票的买卖信号,也被称为止盈止损逻辑。
  • 大盘风控:大盘上证指数最近表现比较差时,将仓内股票全部清空,当日不再交易。

本策略就是在平台的默认可视化线性模板策略的基础上进行修改的,就是一个简单的小市值策略

  • 剔除上市小于1年的新股、剔除ST股票、按照市值排序
  • 等权持股30只、持仓5个交易日

策略实现

1. 止盈止损

止盈止损的逻辑,其实就是判断仓内的每一只股票自买入以来的涨跌,这个涨跌如果大于一个临界值,或者小于一个临界值,我们就将它卖出

更新时间:2024-05-23 06:20

DQN个股择时策略研究

旧版声明

本文为旧版实现,仅供学习参考。

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

\

导语

本文主要分享一个基于Deep Q Network的对于个股的择时策略

算法简介

DQN与Q-Learning

本文主要使用的是Deep Q Network。DQN是强化学习的一种方法,结合了Q-learning和深度学习神经网络。

Q-learning是用一张表来记录各个状态下的各个行为的q值,它能记录的状态

更新时间:2024-05-20 00:40

【历史文档】策略回测-常用设置

更新

本文内容对应旧版平台与旧版资源,其内容不再适合最新版平台,请查看新版平台的使用说明

新版量化开发IDE(AIStudio):

https://bigquant.com/wiki/doc/aistudio-aiide-NzAjgKapzW

新版模版策略:

https://bigquant.com/wiki/doc/demos-ecdRvuM1TU

新版数据平

更新时间:2024-05-16 02:44

我的需求是对已持有的股票进行调仓,将仓位固定到一个比例,多退少补,应该用哪个下单函数或者如何编写呢?

第一次建仓:

按目标比例买入股票,各股票的目标比例相同【比例为A】。

建仓后,下一个调仓日:

  1. 先卖出部分股票,
  2. 对未卖出的仓内股票进行调仓,将之持仓占比固定回到目标比例A
  3. 按目标比例买入新选择的股票。

其中的第二步也就是多退少补部分应该怎么实现呢?

我现在使用的context.order_target_percent函数偶尔会发生委托数量错误的报错显示,不论是赚的股票还是跌的股票都偶尔会出现委托数量错误的报错

更新时间:2024-05-11 05:33

事件型策略:通道突破策略单股

  • 运行环境:AiStudio 3.0.0
  • 策略描述:我们将过去20日收盘价(均值+2倍标准差)作为up_limit,(均值-2倍标准差)作为low_limit
  • 买入股票:'600519.SH'(贵州茅台)
  • 买卖规则:收盘价大于up_limit买入,收盘价小于low_limit卖出
  • 数据表名:cn_stock_bar1d
  • 回测时长:2020-1-1 至 今天
  • 初始资金:500000
  • 买卖时间:开盘买入,收盘卖出


回测图:

![](/wiki/api/attachments.redirect?id=9ed9f90b-c353-4aff-b4bf-

更新时间:2024-04-25 07:14

交易引擎 M.bigtrader.v9 如何设置,涨停股票不能买入

交易引擎 M.bigtrader.v9 如何设置,涨停股票不能买入

目前发现涨停股票也可以买入,以及如何设置我在2:20时买入股票不要等很久才能成交,每次多笔,

当天卖出的股票,获取用户资金context.portfolio.cash,显示为未卖出之前的,导致不能当天买入足额其他股票,请问下如何设置

\

更新时间:2024-03-21 10:57

这个龙虎榜因子错了,怎么写,统计个股龙虎榜买入拉萨上榜个数

https://bigquant.com/codeshare/0df0cdcf-9f8b-4793-988e-e7168080f619

\

更新时间:2023-12-22 07:08

调用gplearn报错!

{w:100}

更新时间:2023-10-09 06:28

回测引擎代码:INFO order[14:30:00][id:02a6b5,603992.SHA -4341873@MARKET]

INFO order[14:30:00][id:02a6b5,603992.SHA -4341873@MARKET] 这是什么问题?

更新时间:2023-10-09 06:23

基于深度强化学习的股票交易

利用算法进行股票量化交易是当今金融市场的一个重要趋势。在国际象棋和围棋等诸多复杂的游戏中,深度强化学习(DRL)智能体都取得了惊人的成绩。深度强化学习的理论同样适用于股票市场的量化决策。本文介绍了同济大学计算机科学与技术系的上海市大学生创新创业训练计划优秀项目:「基于深度强化学习的金融量化策略研究」,解读了如何训练一个 A 股市场的深度强化学习模型,以及回测的绩效表现。

在该项目中,研究者把股票市场的历史价格走势看作一个复杂的不完全信息环境,而智能体需要在这个环境中最大化回报和最小化风险。相比于其他传统机器学习算法,深度强化学习的优势在于对股票交易任务进行马尔可夫决策过程建模,没有将

更新时间:2023-06-13 06:53

没法买回上个交易日卖空的股票?中途打印出来是没问题的。

每次交易先清空持仓,买入排名前三股票,卖空排名最后三只股票。
运行的时候发现没法买回上次卖空的股票,请帮忙看一下为什么呢?中途打印出来是没问题的。

stock_hold_now = {e.symbol: p.amount
             for e, p in context.perf_tracker.position_tracker.positions.items()}
print(today, context.portfolio.cash, stock_hold_now)
 
#先把已有的持仓清掉
# 如果该股票停牌,则没法成交。因此需要用can_trade方法检查下该

更新时间:2023-06-01 02:13

如何在策略中实现最近10天内买入过的个股不再买入

问题

如何在策略中实现最近10天内买入过的个股不再买入

\

解答

在回测中可以在卖出股票后,把卖出时间保存下来,然后买入时和当天时间进行对比就可以实现。具体可以参照下面的样例,此样例实现了持有股票必须大于n天后才能卖出和买入的股票m天内不再买入两个功能。

https://bigquant.com/experimentshare/fd94a8acc914413ea5185892d7aade09

\

更新时间:2023-06-01 02:13

机器学习策略止损无效0

问题

我有一个深度学习策略,我在主函数中添加了跟踪止损的逻辑没有什么用。因为某只股票达到止损条件会卖出,但是第二天机器学习策略根据算法又会将这只股票买入。所以止损策略不能发挥作用啊。请问各位高手有无办法解决?

更新时间:2023-06-01 02:13

用AI策略模板新建了一个策略,咨询一个关于持仓天数的问题

问题

看之前的回答如下:

{w:100}{w:100}这里的持仓期指的是建仓期吧?然后每天交易上限是1W? 有点不能理解为什么不一天买完所有股票,而是分为10天买入呢?这种方式有什么好处吗是?

更新时间:2023-06-01 02:13

希望每日买入2只股票,卖出两只股票均仓

希望实现每日早盘买入2只股票,各占总仓位的1/4,每天卖出2只股票,各占总仓位的1/4,但是怎么设置都达不到我预期的效果,不知道是不是我哪里设置的有问题,求大神指点..

{w:100}{w:100} {w:100}{w:100}

更新时间:2023-06-01 02:13

使用context.ranker_prediction先后传递数据

一些股票在当天发现信号时但要几天才想买入,想用context.ranker_prediction加一条日期为几天后的数据,这样几天后的回测代码就读到那个股票了,但用append方法加了数据,并没有生效,是不是context.ranker_prediction只能读不能更新? 还有也是想买了股票以后,就在这个数据集更新标记,后面读出,作为补仓依据。

更新时间:2023-06-01 02:13

策略开始没设置不购买st,后来去掉st了,但是持仓里有2个st.如何卖掉呢?

问题

策略开始没设置不购买st,后来去掉st了,但是持仓里有2个st.如何卖掉呢?

解答

你可以在策略里面增加指定卖出特定股票后,再把策略改回去。

更新时间:2023-06-01 02:13

怎么设置每只股票每次交易的最低买入金额?

问题

怎么设置每只股票每次交易的最低买入金额?

更新时间:2023-06-01 02:13

想问一下数据字典中的大中小单的区分标准是怎样的?

问题

想问一下数据字典中的大中小单的区分标准是怎样的?

另外这个标准是固定的吗

更新时间:2023-06-01 02:13

求助怎样买出持仓中获利票的一半

问题

思路:当一支股票获利10% 有1000股为了保住利润,先卖出500股降低仓位,留下500股扩大利润。

那位大神帮忙写一下回测中的代码。先谢了!!!

\

更新时间:2022-12-20 14:20

当天买入了预卖出股票

问题

我也遇到了这情况,当天买入了预卖出股票

{w:100}{w:100}

更新时间:2022-12-20 14:20

实际下单金额跟传入金额有3%差距

问题

context.order_value调用时,实际下单金额跟传入金额有正负3%差距,请问是什么原因?

我发现同一天,不同股票,下单相同金额,看回测结果发现金额最多有正负3%左右的差距,这个是什么原因?

调用context.order_value之前我print了value参数,确定是一样的,排除了手续费和滑点(成本价跟开盘价一样)。


下面是一个样例,value参数传入是16.8398万,可是回测结果是

173883.719 (+3.2%差距)

168494.351 (0.05%差距)

163319.581(-3.1%差距)


![{w:100}](/w

更新时间:2022-12-20 14:20

为何每天最后一笔买入股票数量不是100的整数

问题

不知道为何我的买入逻辑只有一个,而且明显买入amount应该是100的整数,但是最后一笔买入数量不知为何就不是100整数。有人可以帮忙解答一下吗?谢谢

我买入逻辑如下:

amount = math.floor(cash / current_price / 100) * 100

context.order(context.symbol(instrument), amount)

下载的交易详情数据:

![{w:100}{w:100}](/wiki/api/attachments.redirect?id=97eff0cd-098b-4d09-b7e5-9e4f3ba

更新时间:2022-12-20 14:20

回测时购买股票后资产翻倍

问题

回测时,买了股票后为什么总资产会变成买股票钱的2倍左右?

1月4日买入前总资产是10000元,1月5日买入股票后总资产变成17720,这是什么原因呢?{w:100}{w:100}{w:100}{w:100}{w:100}下单的方式我试过下面3种,都是这样的结果。

    rv = context.order(context.ins, order_num, price, order_type=OrderTyp

更新时间:2022-11-09 01:23

分页第1页第2页第3页
{link}