右侧追击(一)——东方财富

本文旨在策略学习探讨,不构成任何投资建议!

之前我们用两篇文章将账户和交易封装,做了一定准备工作。今天,将正式开启对策略的考核。

对于券商、钢铁、有色、甚至房地产等右侧行情的行业,通常会用到一个方法——右侧追击,也就是所谓的追涨杀跌。

中心思想基本是以较低的试错成本,一次次的去追击它们的强势行情。中间可能会有多次追击失败,但亏损不会太大,而一旦追击成功,收益相对而言都较为可观。

本次以A股东方财富历史数据为示例,股票代码300059

1. 数据获取

其中quan_trade是在交易封装中封装好的类

# 导入相关库
import akshare as ak
import pandas as pd
import quan_trade # 导入交易类
### 获取东方财富历史行情数据
# 参数adjust:默认返回不复权的数据; qfq: 返回前复权后的数据; hfq: 返回后复权后的数据。
# 该股票涉及到多次转增分红,这里需要选择前复权
dfcf_df = ak.stock_zh_a_hist(symbol='300059', period="daily", start_date="20011101", end_date='20221231', adjust="qfq")
dfcf_df

该股票于2010-03-19上市,截止2022-04-08,一共有2865条数据。

2.策略更新

策略之前封装到了quan_trade.py中的类Trade中,添加右侧追击策略只需在类中添加新方法,然后在主函数self.main中添加策略判断即可。

先来梳理一下右侧追击的策略:

1. 将资金分为5份;

2. 突破新高买入一份,止损点设为买入价下方8%;

3. 每涨10%,追加一份,并将止损点更新为最新买入价下方8%;

4. 一旦期间触发止损,意味着此次追击失败,再觅良机重新追击;

5. 如果5份全部买入完成,设最高价下方8%为动态止盈点,一旦触发止盈,意味着本次追击成功且圆满结束。

右侧追击中,会有不少假突破。可能会对本金造成侵蚀,但这是右侧交易必要的磨损。只要严格遵守纪律,在止损点果断斩仓,风险就是可控的。

接下来,就是要将我们的策略告诉程序,在此之前有几个细节需要确定:

1. 新高为半年内新高(即前180个交易日的最高价,非最高收盘价)

2. 突破新高是指当日收盘价站上前期高点,非当日最高价破新高。避免上长影线触发策略买入(上长影线意味着抛压巨大,不是很好的追击点)

3. 每次交易以当日收盘价作为交易价格,更为贴近在现实中能买到或卖到的价格

代码如下:

# 在quan_trade.py文件的的类Trade中添加此方法
def by_right_attack(self):
    """右侧追击"""
    # 定义两个变量,分别存放前高以及追击完成后的最高股价
    last_higt = max_price = None
    for i in range(180, self.data.shape[0]):
        # 更新前半年最高价
        last_higt = self.data['最高'][i-180:i].max()

        # 无持仓(持仓数据为空或者持仓数量为零)
        if self.account.position.empty or self.account.position.iloc[-1].amount == 0:
            # 价格未突破
            if self.data.iloc[i].收盘 <= last_higt:
                self.account.no_trade_update_ass
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值