美文网首页python
python-策略学习(买入&持有)

python-策略学习(买入&持有)

作者: 玩er2017 | 来源:发表于2018-06-12 11:18 被阅读0次

python-策略学习(买入&持有)

第一个策略-买入&持有

参考文献:http://rqalpha.io/zh_CN/latest/intro/tutorial.html


数据包更新

$ rqalpha update_bundle

拷贝股票数据包

$ cp -a /Users/test/.rqalpha/bundle /Users/test/Documents/bundle/rqalpha 

运行策略

$ rqalpha run -f /Users/test/Documents/buy_and_hold.py -d /Users/test/Documents/bundle/ -s 2016-06-01 -e 2016-12-01 --account stock 100000 --benchmark 000300.XSHG --plot -o result.pkl

假如我们的策略存放在了 ./rqalpha/examples/buy_and_hold.py 路径下, 数据源存放在 ./rqalpha/bundle/ 路径下,回测的起始时间为 2016-06-01, 结束时间为 2016-12-01,我们给策略分配的起始资金为 100000, Benchmark 设置为 `000300.XSHG

屏幕快照 2018-06-12 10.44.15.png

运行过程

  1. 运行anaconda虚拟环境,打开terminal
屏幕快照 2018-06-12 10.59.09.png
  1. 执行命令


    屏幕快照 2018-06-12 11.00.42.png
  1. 结果
屏幕快照 2018-06-12 11.04.42.png

策略主体

# 在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。
def init(context):
    logger.info("init")
    context.s1 = "000001.XSHE"
    update_universe(context.s1)
    # 是否已发送了order
    context.fired = False
    context.cnt = 1


def before_trading(context):
    logger.info("Before Trading", context.cnt)
    context.cnt += 1


# 你选择的证券的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新
def handle_bar(context, bar_dict):
    context.cnt += 1
    logger.info("handle_bar", context.cnt)
    # 开始编写你的主要的算法逻辑

    # bar_dict[order_book_id] 可以拿到某个证券的bar信息
    # context.portfolio 可以拿到现在的投资组合状态信息

    # 使用order_shares(id_or_ins, amount)方法进行落单

    # TODO: 开始编写你的算法吧!
    if not context.fired:
        # order_percent并且传入1代表买入该股票并且使其占有投资组合的100%
        order_percent(context.s1, 1)
        context.fired = True

数据进行分析

把生成的文件result.pkl移动出来。

$ mv  /Users/test/result.pkl  /Users/test/Documents/

如果想把回测的数据保存下来,可以通过-o参数将结果保存成pkl文件。等回测结束后可以通过 pandas.read_pickle 函数来读取数据进行之后的数据分析。

分析调用pandas库,程序主体

import pandas as pd

result_dict = pd.read_pickle('result.pkl')

result_dict.keys()
# [out]dict_keys(['total_portfolios', 'summary', 'benchmark_portfolios', 'benchmark_positions', 'stock_positions', 'trades', 'stock_portfolios'])

http://rqalpha.io/zh_CN/latest/intro/tutorial.html

相关文章

  • python-策略学习(买入&持有)

    python-策略学习(买入&持有) 第一个策略-买入&持有 参考文献:http://rqalpha.io/zh_...

  • 读李笑来老师的《定投改变命运-第3版》所记

    1.定投策略的核心是什么? 长期持有。只不过是分批买入而已,剩下的我们依然是谨慎选择投资标的,依然是买入后长期持有...

  • 定投策略还可以进一步改良吗?

    1.定投策略的核心 定投策略的核心是长期持有,只不过分批买入,可以用金钱和时间同时来定投。剩下的关键点与长期持有策...

  • 朝阳永续私募基金投资策略分类说明

    朝阳永续私募基金投资策略分类说明 策略分类及说明: 股票多头:传统的买入持有策略,投资者对后市看好,在较低的价位买...

  • 世上最浪漫的事就是陪你一起慢慢变富——定投改变命运

    1.5 定投策略无需再次改良 思考: 定投策略的核心是什么? 定投策略的核心依然是长期持有;只不过是分批买入而已,...

  • 债券交易

    策略:买入持有+套利策略 跨市场套利,交易所和银行间比较估值、转托管买卖; 避税套利,付息前后(散户集中度较高的债...

  • After投资笔记 11.13

    通过吴晓波读书会报名了一个线下的理财讲座,讲的是如何投资基金,投资策略是长期持有,在低点买入以年为周期进行持有。这...

  • 《买入,持有,富有》

    12月11读 第一章 有一个正确的价值理念 买入企业的股票就是买入整个企业 我做事情喜欢想透本质,然后再全力以 成...

  • 什么是50ETF期权保险?

    期权最重要的一个功能就是保险功能。所谓期权保险策略,是指当投资者持有或买入ETF时,再买入相应数量的认沽期权,为所...

  • 《巴菲特的护城河》

    前言 投资策略 ①寻找能持续多年实现超额收益的企业; ②耐心等待,在股价低于其内在价值时买入; ③持有股票,直到企...

网友评论

    本文标题:python-策略学习(买入&持有)

    本文链接:https://www.haomeiwen.com/subject/cwsleftx.html