|
|
51CTO旗下网站
|
|
移动端

2.2.4 偏函数

《量化交易之路:用Python做股票量化分析》第2章量化语言——Python,第2部分(第2~6章)主要讲解了量化交易需要的基础知识及相关工具,如Python语言、NumPy、pandas、数据可视化及量化数学等知识,适合完全没有任何编程经验的读者从头开始阅读。本节为大家介绍偏函数。

作者:阿布来源:机械工业出版社|2017-10-19 16:13

2.2.4  偏函数

前面示例中的filter_stock()函数由于参数太多,很容易使用时产生错误。使用functools.partial()函数可以创建一个新的函数,从而在调用时更简单,函数功能也更加明确。

  1. from functools import partial  
  2.  
  3. # 筛选上涨交易日  
  4. filter_stock_up_days = partial(filter_stock, want_up=True,  
  5.                                want_calc_sum=False)  
  6. # 筛选下跌交易日  
  7. filter_stock_down_days = partial(filter_stock, want_up=False,  
  8.                                  want_calc_sum=False)  
  9. # 筛选计算上涨交易日涨幅和  
  10. filter_stock_up_sums = partial(filter_stock, want_up=True,  
  11.                                want_calc_sum=True)  
  12. # 筛选计算下跌交易日跌幅和  
  13. filter_stock_down_sums = partial(filter_stock, want_up=False,  
  14.                                  want_calc_sum=True

使用示例如下:

  1. print '所有上涨的交易日:{}'.format(filter_stock_up_days(stock_dict))  
  2. print '所有下跌的交易日:{}'.format(filter_stock_down_days(stock_dict))  
  3. print '所有上涨交易日的涨幅和:{}'.format(filter_stock_up_sums(stock_dict))  
  4. print '所有下跌交易日的跌幅和:{}'.format(  
  5.                                 filter_stock_down_sums(stock_dict)) 

输出如下:

  1. 所有上涨的交易日:[stock(date='20170121'price='32.56'change=0.235),  
  2.                 stock(date='20170122'price='32.82'change=0.008)]  
  3. 所有下跌的交易日:[stock(date='20170119'price='29.58'change=-0.019),  
  4.                 stock(date='20170120'price='26.36'change=-0.109)]  
  5. 所有上涨交易日的涨幅和:0.243  
  6. 所有下跌交易日的跌幅和:-0.128 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Microsoft SQL Server 2005技术内幕:存储引擎

本书是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊