4.11 FPC • FPC 指标选股

来源:https://uqer.io/community/share/55a4bcb4f9f06c6dd1e17f19

  1. import pandas as pd
  2. fields = ['tradeDate', 'secID', 'OperatingProfitRatio', 'ROE', 'InventoryTRate', 'ARTRate', 'TotalAssetsTRate', 'OperatingRevenueGrowRate', 'OperatingProfitGrowRate', 'NetProfitGrowRate', 'NetAssetGrowRate', 'DebtsAssetRatio', 'CurrentRatio', 'QuickRatio']
  3. weights = [15.0, 20.0, 0.07, 0.07, 0.06, 8.0, 8.0, 8.0, 8.0, 0.07, 0.07, 0.07]
  4. def FPCCalculator(x):
  5. sumRes = 0
  6. for name, weight in zip(fields[2:], weights):
  7. sumRes += x[name] * weight
  8. return sumRes
  9. start = '2011-01-01' # 回测起始时间
  10. end = '2015-01-01' # 回测结束时间
  11. benchmark = 'HS300' # 策略参考标准
  12. universe = set_universe('HS300', start) # 证券池,回测支持股票和基金
  13. capital_base = 100000000 # 起始资金
  14. refresh_rate = 60 # 调仓频率,即每 refresh_rate 个交易日执行一次 handle_data() 函数
  15. def initialize(account): # 初始化虚拟账户状态
  16. pass
  17. def handle_data(account): # 每个交易日的买入卖出指令
  18. hist = account.get_attribute_history('closePrice',1)
  19. print account.current_date
  20. today = account.current_date
  21. cal = Calendar('China.SSE')
  22. referenceDate = cal.advanceDate(today, '-1b', BizDayConvention.Preceding).strftime('%Y%m%d')
  23. res = pd.DataFrame()
  24. for stock in account.universe:
  25. data = DataAPI.MktStockFactorsDateRangeGet(secID=stock, beginDate=referenceDate, endDate=referenceDate, field=fields)
  26. res = res.append(data.dropna())
  27. res = res.reset_index(drop=True)
  28. res = res.set_index('secID')
  29. ind = DataAPI.EquIndustryGet(secID=res.index.values, industryVersionCD='010303', intoDate=referenceDate)
  30. ind = ind.set_index('secID')
  31. res['industry'] = ind.industryName1
  32. res['score'] = res.apply(FPCCalculator, 1)
  33. grouped = res[['industry', 'score']].groupby('industry')
  34. buyList = []
  35. # 只选行业中股票个数大于5个行业分类
  36. for key, group in grouped:
  37. if len(group) >= 5:
  38. group['score'] = group['score'] - group['score'].mean()
  39. group = group.sort('score', ascending=False)
  40. buyList.append((key, group.index[0], group.score[0]))
  41. # 先卖出
  42. for stock in account.valid_secpos:
  43. order_to(stock, 0)
  44. # 再买入
  45. totalValue = account.referencePortfolioValue
  46. cashForEachStock = totalValue / (len(buyList) + 1)
  47. for key, name, score in buyList:
  48. amount = int(cashForEachStock / hist[name] / 100) * 100
  49. print "{0:<20s}: {1:s}, {2:f}, {3:d}".format(key, name, score, amount)
  50. order(name, amount)

4.11 FPC • FPC 指标选股 - 图1

  1. 2011-01-05 00:00:00
  2. 交运设备 : 600418.XSHG, 277.876645, 640800
  3. 交通运输 : 600350.XSHG, 33.614389, 1559300
  4. 信息服务 : 600271.XSHG, 19.515397, 249400
  5. 公用事业 : 600863.XSHG, 261.666837, 1671100
  6. 农林牧渔 : 000061.XSHE, 15.004222, 658100
  7. 化工 : 000422.XSHE, 187.995211, 475200
  8. 医药生物 : 002007.XSHE, 67.818000, 135500
  9. 商业贸易 : 002024.XSHE, 12.686739, 495900
  10. 家用电器 : 000651.XSHE, 6.061078, 822600
  11. 建筑建材 : 600528.XSHG, 33.795187, 709800
  12. 房地产 : 600266.XSHG, 44.695256, 637600
  13. 有色金属 : 600547.XSHG, 417.523861, 120400
  14. 机械设备 : 000039.XSHE, 35.414604, 295900
  15. 采掘 : 000933.XSHE, 46.406670, 398200
  16. 食品饮料 : 000858.XSHE, 19.308545, 203000
  17. 2011-04-08 00:00:00
  18. 交运设备 : 000927.XSHE, 128.086565, 783700
  19. 交通运输 : 601111.XSHG, 40.021770, 609200
  20. 信息服务 : 600271.XSHG, 18.897618, 284900
  21. 公用事业 : 600863.XSHG, 264.298228, 1622300
  22. 农林牧渔 : 000061.XSHE, 15.004222, 649600
  23. 化工 : 000422.XSHE, 11.132274, 421800
  24. 医药生物 : 600216.XSHG, 15.584448, 335300
  25. 商业贸易 : 002024.XSHE, 10.290995, 481100
  26. 家用电器 : 000651.XSHE, 5.837902, 623700
  27. 建筑建材 : 601117.XSHG, 19.892445, 838900
  28. 房地产 : 000897.XSHE, 32.173353, 1113200
  29. 有色金属 : 600547.XSHG, 949.914380, 118200
  30. 机械设备 : 000157.XSHE, 30.560292, 526900
  31. 采掘 : 600188.XSHG, 19.870549, 179800
  32. 钢铁 : 000709.XSHE, 130.212328, 1520200
  33. 食品饮料 : 600300.XSHG, 100.285020, 1076800
  34. 2011-07-05 00:00:00
  35. 交运设备 : 600104.XSHG, 30.278670, 359900
  36. 交通运输 : 600029.XSHG, 159.996161, 804300
  37. 信息服务 : 600271.XSHG, 18.554824, 256400
  38. 公用事业 : 600900.XSHG, 30.288765, 964700
  39. 农林牧渔 : 000876.XSHE, 16.770247, 314800
  40. 化工 : 000059.XSHE, 52.574421, 440800
  41. 医药生物 : 600518.XSHG, 14.594103, 904600
  42. 商业贸易 : 002024.XSHE, 10.591486, 474500
  43. 家用电器 : 000651.XSHE, 10.057383, 595800
  44. 建筑建材 : 600585.XSHG, 19.600357, 231400
  45. 房地产 : 000631.XSHE, 40.536041, 1370900
  46. 有色金属 : 600111.XSHG, 109.240872, 255400
  47. 机械设备 : 000039.XSHE, 57.594695, 290000
  48. 采掘 : 601001.XSHG, 15.730951, 350000
  49. 钢铁 : 600516.XSHG, 407.299490, 551700
  50. 食品饮料 : 600132.XSHG, 17.648762, 105700
  51. 2011-09-28 00:00:00
  52. 交运设备 : 600104.XSHG, 21.918292, 381800
  53. 交通运输 : 600221.XSHG, 63.193351, 1851600
  54. 信息服务 : 600271.XSHG, 14.206672, 211700
  55. 公用事业 : 600674.XSHG, 25.243519, 1662700
  56. 农林牧渔 : 000876.XSHE, 24.967820, 279200
  57. 化工 : 000059.XSHE, 25.787124, 568800
  58. 医药生物 : 600518.XSHG, 15.576307, 793800
  59. 商业贸易 : 002024.XSHE, 8.403357, 528100
  60. 家用电器 : 000651.XSHE, 9.330746, 631900
  61. 建筑建材 : 600585.XSHG, 306.156492, 316400
  62. 房地产 : 000631.XSHE, 31.578629, 1362600
  63. 有色金属 : 600111.XSHG, 200.004115, 290700
  64. 机械设备 : 000039.XSHE, 53.399231, 348500
  65. 采掘 : 600188.XSHG, 28.178807, 194500
  66. 钢铁 : 000898.XSHE, 2738.223747, 1032200
  67. 食品饮料 : 600809.XSHG, 18.768502, 156500
  68. 2011-12-28 00:00:00
  69. 交运设备 : 600104.XSHG, 17.063323, 385900
  70. 交通运输 : 000089.XSHE, 35.753107, 1126000
  71. 信息服务 : 600588.XSHG, 14.781967, 473400
  72. 公用事业 : 000685.XSHE, 46.858354, 805300
  73. 农林牧渔 : 000876.XSHE, 26.901091, 281600
  74. 化工 : 000422.XSHE, 26.961147, 393900
  75. 医药生物 : 600518.XSHG, 16.171002, 839200
  76. 商业贸易 : 600694.XSHG, 34.616035, 158900
  77. 建筑建材 : 600585.XSHG, 34.849863, 325600
  78. 房地产 : 000631.XSHE, 36.914683, 1842100
  79. 有色金属 : 000807.XSHE, 263.555174, 958000
  80. 机械设备 : 600031.XSHG, 29.957499, 410900
  81. 采掘 : 601001.XSHG, 12.862060, 383400
  82. 钢铁 : 600307.XSHG, 26.649657, 1276300
  83. 食品饮料 : 600300.XSHG, 25.273663, 1180800
  84. 2012-03-30 00:00:00
  85. 交运设备 : 600104.XSHG, 18.909886, 426800
  86. 交通运输 : 000089.XSHE, 35.166259, 1278400
  87. 信息服务 : 600271.XSHG, 16.981212, 314400
  88. 公用事业 : 000685.XSHE, 48.707469, 871200
  89. 化工 : 000422.XSHE, 28.601842, 413000
  90. 医药生物 : 600518.XSHG, 15.576615, 867900
  91. 商业贸易 : 600694.XSHG, 32.895471, 212700
  92. 建筑建材 : 600585.XSHG, 20.132624, 371300
  93. 房地产 : 000402.XSHE, 36.743106, 936400
  94. 有色金属 : 000612.XSHE, 3797.404448, 760600
  95. 机械设备 : 600031.XSHG, 27.121428, 466400
  96. 采掘 : 601001.XSHG, 11.694587, 432800
  97. 钢铁 : 600010.XSHG, 81.043473, 1722100
  98. 食品饮料 : 600300.XSHG, 24.462883, 813200
  99. 2012-07-02 00:00:00
  100. 交运设备 : 600066.XSHG, 28.154927, 670000
  101. 交通运输 : 000089.XSHE, 39.622036, 1276300
  102. 信息服务 : 600588.XSHG, 34.751230, 504100
  103. 公用事业 : 000685.XSHE, 35.456503, 856900
  104. 化工 : 600251.XSHG, 24.002774, 567000
  105. 医药生物 : 600196.XSHG, 14.593144, 512900
  106. 商业贸易 : 600694.XSHG, 17.596119, 168100
  107. 家用电器 : 000100.XSHE, 162.404051, 2648600
  108. 建筑建材 : 600585.XSHG, 22.135445, 368200
  109. 房地产 : 600663.XSHG, 59.464286, 431300
  110. 有色金属 : 600456.XSHG, 186.015637, 274800
  111. 机械设备 : 600031.XSHG, 28.231175, 399400
  112. 采掘 : 600123.XSHG, 8.183554, 307700
  113. 钢铁 : 600307.XSHG, 31.022309, 1541900
  114. 食品饮料 : 600519.XSHG, 23.296690, 25300
  115. 2012-09-24 00:00:00
  116. 交运设备 : 600150.XSHG, 86.708491, 234500
  117. 交通运输 : 000089.XSHE, 39.383480, 1313100
  118. 信息服务 : 600271.XSHG, 80.422510, 337800
  119. 公用事业 : 000685.XSHE, 35.061598, 963300
  120. 化工 : 000422.XSHE, 20.686581, 413900
  121. 医药生物 : 600518.XSHG, 18.695275, 634200
  122. 商业贸易 : 600694.XSHG, 34.618859, 136600
  123. 家用电器 : 000651.XSHE, 14.583746, 537700
  124. 建筑建材 : 601117.XSHG, 11.177778, 773300
  125. 房地产 : 000046.XSHE, 907.969889, 1432000
  126. 有色金属 : 600456.XSHG, 57.602414, 290200
  127. 机械设备 : 000157.XSHE, 27.342064, 635600
  128. 采掘 : 600123.XSHG, 9.754217, 290300
  129. 钢铁 : 000825.XSHE, 43.268790, 1516400
  130. 食品饮料 : 002304.XSHE, 19.892648, 63800
  131. 2012-12-24 00:00:00
  132. 交运设备 : 600066.XSHG, 26.100632, 614600
  133. 交通运输 : 601107.XSHG, 116.863379, 1556200
  134. 信息服务 : 600271.XSHG, 48.157093, 378300
  135. 公用事业 : 600008.XSHG, 58.545444, 1219100
  136. 化工 : 000422.XSHE, 16.611969, 460200
  137. 医药生物 : 600518.XSHG, 25.176992, 777700
  138. 商业贸易 : 600694.XSHG, 24.983091, 170800
  139. 家用电器 : 000651.XSHE, 18.691066, 433900
  140. 建筑建材 : 601117.XSHG, 15.471286, 647900
  141. 房地产 : 600895.XSHG, 294.473466, 754600
  142. 有色金属 : 601899.XSHG, 147.629408, 1435300
  143. 机械设备 : 600312.XSHG, 325.920975, 680700
  144. 采掘 : 600123.XSHG, 9.751122, 266000
  145. 钢铁 : 000825.XSHE, 88.335062, 1438800
  146. 食品饮料 : 600519.XSHG, 21.102387, 25900
  147. 2013-03-28 00:00:00
  148. 交运设备 : 600150.XSHG, 38.141684, 255100
  149. 交通运输 : 601107.XSHG, 124.017399, 1667100
  150. 信息服务 : 600271.XSHG, 37.765484, 379400
  151. 公用事业 : 600011.XSHG, 70.219799, 848200
  152. 农林牧渔 : 000876.XSHE, 126.213409, 422400
  153. 化工 : 600309.XSHG, 20.922440, 309400
  154. 医药生物 : 600518.XSHG, 23.752800, 585800
  155. 商业贸易 : 002024.XSHE, 17.212139, 796100
  156. 家用电器 : 000651.XSHE, 17.939662, 408700
  157. 建筑建材 : 601117.XSHG, 15.867114, 552900
  158. 房地产 : 600895.XSHG, 294.490930, 811000
  159. 有色金属 : 601899.XSHG, 144.656562, 1639000
  160. 机械设备 : 600312.XSHG, 304.909865, 581300
  161. 采掘 : 600583.XSHG, 55.129969, 802800
  162. 钢铁 : 000825.XSHE, 123.683741, 1554900
  163. 食品饮料 : 600519.XSHG, 21.180904, 36000
  164. 2013-07-02 00:00:00
  165. 交运设备 : 000625.XSHE, 114.535214, 552700
  166. 交通运输 : 000089.XSHE, 41.398885, 1385600
  167. 信息服务 : 600804.XSHG, 7.150407, 422300
  168. 公用事业 : 601139.XSHG, 271.722329, 581200
  169. 化工 : 600309.XSHG, 34.933967, 311000
  170. 医药生物 : 600518.XSHG, 8.240444, 498800
  171. 商业贸易 : 600694.XSHG, 25.571651, 184100
  172. 家用电器 : 000651.XSHE, 11.454882, 447500
  173. 建筑建材 : 601668.XSHG, 20.426365, 1637400
  174. 房地产 : 000046.XSHE, 35.341020, 1079900
  175. 有色金属 : 601899.XSHG, 139.891359, 2220300
  176. 机械设备 : 600312.XSHG, 97.669502, 512400
  177. 采掘 : 600583.XSHG, 33.244083, 748900
  178. 钢铁 : 600019.XSHG, 93.875140, 1296600
  179. 食品饮料 : 000895.XSHE, 17.037947, 193200
  180. 2013-09-26 00:00:00
  181. 交运设备 : 000625.XSHE, 142.122140, 558000
  182. 交通运输 : 000089.XSHE, 44.337186, 1395800
  183. 信息服务 : 600804.XSHG, 13.150377, 303700
  184. 公用事业 : 600886.XSHG, 36.863455, 1607000
  185. 化工 : 600309.XSHG, 25.442594, 367000
  186. 医药生物 : 600196.XSHG, 11.686152, 438500
  187. 商业贸易 : 600655.XSHG, 6.632367, 651100
  188. 建筑建材 : 600528.XSHG, 25.614124, 1033400
  189. 房地产 : 002244.XSHE, 48.302567, 1420900
  190. 有色金属 : 600489.XSHG, 876.140851, 584300
  191. 机械设备 : 600312.XSHG, 118.116765, 585800
  192. 采掘 : 600583.XSHG, 36.158939, 793600
  193. 钢铁 : 000825.XSHE, 10.851036, 2157800
  194. 食品饮料 : 600519.XSHG, 13.133058, 47600
  195. 2013-12-26 00:00:00
  196. 交运设备 : 000625.XSHE, 89.622325, 495200
  197. 交通运输 : 000089.XSHE, 41.127229, 1326900
  198. 信息服务 : 600804.XSHG, 18.757929, 406600
  199. 公用事业 : 600027.XSHG, 111.988911, 2078600
  200. 化工 : 600352.XSHG, 27.120396, 908000
  201. 医药生物 : 600161.XSHG, 20.161769, 262600
  202. 商业贸易 : 600500.XSHG, 9.151041, 810200
  203. 建筑建材 : 600585.XSHG, 40.048519, 347000
  204. 房地产 : 000046.XSHE, 31.540756, 1305800
  205. 有色金属 : 600497.XSHG, 26.848059, 602300
  206. 机械设备 : 600312.XSHG, 49.129871, 573500
  207. 采掘 : 600583.XSHG, 38.696328, 755100
  208. 钢铁 : 000825.XSHE, 1.620364, 2231100
  209. 食品饮料 : 600519.XSHG, 15.203512, 50900
  210. 2014-03-28 00:00:00
  211. 交通运输 : 000089.XSHE, 57.025247, 1288900
  212. 公用事业 : 600886.XSHG, 29.920482, 1177500
  213. 化工 : 600352.XSHG, 34.851128, 663100
  214. 医药生物 : 600664.XSHG, 8.847229, 861800
  215. 商业贸易 : 600694.XSHG, 10.188886, 203400
  216. 国防军工 : 000768.XSHE, 15.368459, 584700
  217. 建筑装饰 : 600820.XSHG, 47.412512, 994900
  218. 房地产 : 000046.XSHE, 38.909941, 1148300
  219. 有色金属 : 600497.XSHG, 28.310791, 573100
  220. 机械设备 : 600835.XSHG, 16.508934, 257400
  221. 汽车 : 000625.XSHE, 86.397775, 552900
  222. 电气设备 : 600312.XSHG, 35.927563, 402100
  223. 计算机 : 600100.XSHG, 8.826704, 530600
  224. 采掘 : 600583.XSHG, 58.070124, 669400
  225. 钢铁 : 000825.XSHE, 1.617123, 2131300
  226. 食品饮料 : 600519.XSHG, 16.279505, 35700
  227. 2014-06-26 00:00:00
  228. 交通运输 : 000089.XSHE, 37.823741, 1315200
  229. 公用事业 : 600674.XSHG, 34.934140, 842600
  230. 化工 : 600352.XSHG, 29.599356, 680000
  231. 医药生物 : 002007.XSHE, 15.935101, 196000
  232. 商业贸易 : 000061.XSHE, 858.871568, 512100
  233. 国防军工 : 600118.XSHG, 6.488620, 284900
  234. 家用电器 : 600839.XSHG, 71.112703, 1583000
  235. 建筑装饰 : 601186.XSHG, 8.365248, 1104900
  236. 房地产 : 600239.XSHG, 564.094438, 1540200
  237. 有色金属 : 600111.XSHG, 29.080872, 375500
  238. 机械设备 : 000528.XSHE, 15.807318, 841400
  239. 汽车 : 000951.XSHE, 1596.494204, 421700
  240. 电气设备 : 002202.XSHE, 12.785842, 534100
  241. 计算机 : 000021.XSHE, 14.081832, 839100
  242. 采掘 : 600583.XSHG, 48.024740, 672600
  243. 钢铁 : 601003.XSHG, 28.696162, 2283900
  244. 食品饮料 : 600519.XSHG, 22.505981, 34000
  245. 2014-09-19 00:00:00
  246. 交通运输 : 000089.XSHE, 37.736841, 1403600
  247. 公用事业 : 600674.XSHG, 25.079282, 787100
  248. 化工 : 600688.XSHG, 188.636319, 1673400
  249. 医药生物 : 000623.XSHE, 17.549571, 363500
  250. 商业贸易 : 000061.XSHE, 123.977950, 555100
  251. 国防军工 : 600118.XSHG, 6.782743, 273900
  252. 建筑装饰 : 601186.XSHG, 5.159384, 1216400
  253. 房地产 : 600239.XSHG, 6068.206329, 1379400
  254. 有色金属 : 000969.XSHE, 46.723918, 616600
  255. 机械设备 : 000039.XSHE, 14.453034, 414400
  256. 汽车 : 000625.XSHE, 25.819080, 486400
  257. 电气设备 : 002202.XSHE, 33.252376, 570900
  258. 计算机 : 000021.XSHE, 36.036769, 946700
  259. 采掘 : 601001.XSHG, 52.806971, 961500
  260. 钢铁 : 600005.XSHG, 40.192879, 2705800
  261. 食品饮料 : 600519.XSHG, 26.104634, 39300
  262. 2014-12-19 00:00:00
  263. 交通运输 : 000089.XSHE, 27.584352, 1245200
  264. 公用事业 : 600674.XSHG, 53.839932, 800900
  265. 化工 : 600352.XSHG, 40.059302, 891300
  266. 医药生物 : 000623.XSHE, 15.455563, 234000
  267. 商业贸易 : 000061.XSHE, 52.779162, 640700
  268. 国防军工 : 600879.XSHG, 3.075249, 484500
  269. 家用电器 : 000100.XSHE, 9.096006, 2101200
  270. 建筑装饰 : 600068.XSHG, 6.882331, 929000
  271. 房地产 : 600239.XSHG, 67.767563, 1517300
  272. 有色金属 : 601168.XSHG, 132.989485, 894800
  273. 机械设备 : 000039.XSHE, 19.252980, 348100
  274. 汽车 : 000625.XSHE, 21.574376, 476200
  275. 电气设备 : 002202.XSHE, 47.553600, 613000
  276. 计算机 : 600588.XSHG, 10.384352, 336200
  277. 采掘 : 600583.XSHG, 41.950386, 818900
  278. 钢铁 : 600005.XSHG, 46.425391, 2349100
  279. 食品饮料 : 600132.XSHG, 30.739120, 472600