10% smallest cap stock

来源:https://uqer.io/community/share/5663e2f4f9f06c6c8a91b391

  1. import numpy as np
  2. start = '2011-01-05' # 回测起始时间
  3. end = '2015-12-01' # 回测结束时间
  4. benchmark = 'HS300' # 策略参考标准
  5. universe = StockScreener(Factor.LCAP.nsmall(40))
  6. capital_base = 100000 # 起始资金
  7. freq = 'd' # 策略类型,'d'表示日间策略使用日线回测,'m'表示日内策略使用分钟线回测
  8. refresh_rate = 1 # 调仓频率,表示执行handle_data的时间间隔,若freq = 'd'时间间隔的单位为交易日,若freq = 'm'时间间隔为分钟
  9. def initialize(account): # 初始化虚拟账户状态
  10. account.empty = True
  11. def handle_data(account): # 每个交易日的买入卖出指令
  12. today = account.current_date
  13. if today.month == 12 and account.empty:
  14. account.empty = False
  15. for stock in account.universe:
  16. p = account.referencePrice.get(stock, 0)
  17. if np.isnan(p) or p == 0:
  18. continue
  19. order_pct_to(stock, 0.025)
  20. elif today.month == 4 and not account.empty:
  21. account.empty = True
  22. for stock in account.universe:
  23. if stock in account.valid_secpos:
  24. order_to(stock,0)

10% smallest cap stock - 图1