python下载量化策略_掘金量化Python经典策略.pdf

掘金量化Python经典策略

alpha对冲(股票+期货)

alpha对冲(股票+期货)

1. #coding utf-8

2. from__future__importprint_function,absolute_import,

unicode_literals

3. fromgm.apiimport*

4.

5. '''

6. 本策略每隔1个月定时触发计算SHSE.000300成份股的过去的EV/EBITDA并选取EV/EBITDA

大于0的股票

7. 随后平掉排名EV/EBITDA不在最小的30的股票持仓并等权购买EV/EBITDA最小排名在前30的

股票

8. 并用相应的CFFEX .IF对应的真实合约等额对冲

9. 回测数据为 :SHSE.000300和他们的成份股和CFFEX .IF对应的真实合约

10. 回测时间为 :2017-07-0108:00:00到2017-10-0116:00:00

11. '''

12.

13.

14. definit(context):

15. #每月第一个交易 日09:40:00的定时执行algo任务

16. schedule(schedule_func algo,date_rule '1m',

time_rule '09:40:00')

17.

18. #设置开仓在股票和期货的资金百分比(期货在后面自动进行杠杆相关的调整 )

19. context.percentage_stock 0.4

20. context.percentage_futures 0.4

21.

22.

23. defalgo(context):

24. #获取当前时刻

25. now context.now

26. #获取上一个交易 日

27. last_day get_previous_trading_date(exchange 'SHSE',date now)

28. #获取沪深300成份股

29. stock300 get_history_constituents(index 'SHSE.000300',

start_date last_day,

30. end_date last_day)

[0]['constituents'].keys()

31. #获取上一个工作 日的CFFEX .IF对应的合约

32. index_futures get_continuous_contracts(csymbol 'CFFEX .IF',

start_date last_day,end_date last_day)[-1]['symbol']

33. #获取当天有交易的股票

34. not_suspended_info get_history_instruments(symbols stock300,

本文档使用掘金量化构建 -1-

alpha对冲(股票+期货)

start_date now,end_date now)

35. not_suspended_symbols [item['symbol']foritemin

not_suspended_infoifnotitem['is_suspended']]

36. #获取成份股EV/EBITDA大于0并为最小的30个

37. fin get_fundamentals(table 'tq_sk_finindic',

symbols not_suspended_symbols,

38. start_date now,end_date now,

fields 'EVEBITDA ',

39. filter '

你可能感兴趣的:(python下载量化策略)