多股票均线策略:如何用代码实现对多只股票的监控与交易

配资网 阅读: 2024-09-06
后台-插件-广告管理-内容页头部广告(手机)

首先,我们得先弄明白啥叫单股票策略。简单说,就是选一支股票然后根据规则买卖。有人就好奇了,为啥非得这么麻烦?其实,这个策略主要是让咱们集中精力研究一支股票的走势,看准时机买进或者卖出,以此来赚钱。别小看了这种简单的办法,但实际上投资起来,耐心跟眼光可是很关键滴。毕竟咱们就盯住一支股票,那就得把这股票的情况摸透彻才能给出明智的决策!

单股投资也有风险,万一碰上公司业绩烂摊子,或者市场状况突变,投资者可就惨!于是,有些人想,要是能买好几支不同的股票,把投资风险降下来是不是更好?于是,我们就要来说说这种叫“多股票策略”的东西了。

多股票策略的诞生

说到多股票策略,其实就是买太多股。这样做的好处可不少,比如能把风险分散开,让赚的钱更稳定。如果你只买了一只股票,那不是走钢丝?一个不小心就能跌得够呛。但是如果你买很多种,就像走平衡木,只要掌握好技巧,跌跤的几率也就小得多!


def initialize(context):
    g.security = ['002043.XSHE','002582.XSHE']# 存入兔宝宝、好想你 的股票代码
对比下,单股票策略中初始化代码是这样的:
def initialize(context):
    g.security = '002043.XSHE'# 存入兔宝宝 的股票代码

用电脑程序来搞股票策略,就是把好几支股票的代码放到一个列表里,然后用Python这类编程语言编个策略。这样,电脑就能自己帮你看股票、买卖,省得你一个个手动操作那么麻烦。这可不是瞎忙活,它能让你更有效率,而且还能避免人为失误。

策略的初始化与循环

开始买卖股票策略时,首先得搞清楚哪些股票值得我们关注,这叫初始化;其次,该定下怎样买卖这些股票的规则,这就是初始化。初始化就像我们给电脑发个命令,告诉它咱们想做啥。然后,周期循环就是策略里最重要的环节,它决定着我们的策略怎么逐步调整和进步!

def initialize(context):
    g.security1 = '002043.XSHE'
    g.security2 = '002582.XSHE'
def handle_data(context, data):
    last_price = data[g.security1].close
    average_price = data[g.security1].mavg(20, 'close')
    cash = context.portfolio.cash
    if last_price > average_price:
        order_value(g.security1, cash)
    elif last_price < average_price:
        order_target(g.security1, 0)
    last_price = data[g.security2].close
    average_price = data[g.security2].mavg(20, 'close')
    cash = context.portfolio.cash
    if last_price > average_price:
        order_value(g.security2, cash)
    elif last_price < average_price:
        order_target(g.security2, 0)

说到怎么搞股市波动,那就是用电脑编程里头那个"for"循环,给股票做个全面检查,看看买卖是不是合适。然后,就这么不停地循环跑啊跑,一直到达到咱们设好的条件为止。这样既能让我们的策略随时跟上市场的节奏,还能抓到赚大钱的机会!

盈之道策略_盈之道策略_盈之道策略

资金分配的挑战

要玩多股投资,资金的分配可不能马虎。万一把钱全砸进同一只股票里了,其他股票想买也没得买,那就麻烦大了。你想想,买那么多股票就是为了降低风险,这样买法怎么能行?

# 把x中的数据依次取出暂时放入i中
for i in x:
    描述操作的代码
#其中x的数据类型需要是list。

为了防止这种状况发生,咱们得把资金怎么分给股标想明白。简单说,我们可以按照每支股票的数目分批买进。如果有符合买入条件的股票出现,那么我们就从它那份钱里出,不会影响到别的股票的投资计划。这样一来,我们就能保证策略能同时持有好几个股票了,也达到风险分散的效果了。

策略的优化与调整

策略要不停调,多股一样。市道变了,策略也要跟着变。这就跟玩没完没了的赛跑似的,得随时换招数,才能让咱们始终走在前面。

想让策略更好用?回测就能搞定。简单说,就是用历史数据检验下策略好坏。比如说,把策略放到过往市场数据里看看结果怎样。效果好的话,咱就接着用;不好,那就要把策略搞搞,甚至换一个新策略了。

策略的回测与验证

def initialize(context):
    # 存入兔宝宝、好想你 的股票代码
    g.security = ['002043.XSHE','002582.XSHE']
def handle_data(context, data):
    # 把g.security中的股票代码依次取出,逐个进行单股票均线策略
    for i in g.security:
        # 获取取得最近日收盘价,命名为last_price
        last_price = data[i].close
        # 获取近二十日股票收盘价的平均价,命名为average_price
        average_price = data[i].mavg(20, 'close')
        # 获取当前现金数量,命名为cash
        cash = context.portfolio.cash
        # 如果昨日收盘价高出二十日平均价, 则买入,否则卖出。
        if last_price > average_price:
            order_value(i, cash)# 用per_cash的资金量买入股票i
        elif last_price < average_price:
            order_target(i, 0)# 将股票仓位调整到0,即全卖出

盈之道策略_盈之道策略_盈之道策略

回测挺有用的,但也不是啥都行。实际操作时,可能会碰上数据不准、策略有误之类的问题,这都会让回测跑偏,影响我们对策略的看法。

为了避免这些麻烦事,咱得尽量还原真实的交易情况。简单说就是,咱设定些像交易费、滑点之类的变量,就能模拟出真实的交易成本了。然后用这个来衡量策略的好坏,做决定的时候才能更明智

策略的应用与实践

别急,我们还不能放松!虽然已经有了个看上去挺完美的策略,但在执行过程里,可能还是会碰上各种麻烦事,比如说市场突变啦、策略失灵啊之类的。

为了防止这些麻烦事发生,我们得时刻留意策略的运作情况,适时做出小调整。这就像开车,要随时看看路况,转转方向盘,才不会走错路或翻车。这样做,才能让咱们的策略在实战中发扬光大!

总结与展望

# cash除以g.security中的股票数,得到per_cash
per_cash = cash/len(g.security)

大概就是这样,从只选一支股,到搞几个股票一起玩儿,就是一个慢慢进步的事儿。过程里得应对各种难题,还得不停去学窍门,捣腾策略。虽然艰辛点,不过只要我们有恒心,就能找到最适合自己的那一套投资方式。

那你想过没,怎么给自己的钱找个好去处?你可以在评论区跟咱说说你的主意,一起讨论学习!记得,觉得这文章有用就点个赞,分享出去方便更多人看到。

本文 股市配资杠杆平台 原创,转载保留链接!网址:http://www.sdkma.com//zmt/250.html

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

后台-插件-广告管理-内容页尾部广告(手机)
关注我们

扫一扫关注我们,了解最新精彩内容

搜索