程序员的金融市场分析框架:Prophet

jopen 10年前

Prophet是一个程序员的金融市场分析框架。它让程序员专注于金融策略模型,投资组合管理和分析backtests。

Prophet 兼容Python 2 和 3 。查看文档详细了解: documentation

Quickstart

from datetime import datetime    from prophet import Prophet  from prophet.data import YahooCloseData  from prophet.analyze import default_analyzers  from prophet.orders import Orders      class OrderGenerator(object):        def __init__(self):          super(OrderGenerator, self).__init__()          self._data = dict()        def run(self, prices, timestamp, cash, **kwargs):          symbol = "AAPL"          orders = Orders()          if (prices.loc[timestamp, symbol] * 100) < cash:              orders.add_order(symbol, 100)            return orders      prophet = Prophet()  prophet.set_universe(['AAPL', 'XOM'])    prophet.register_data_generators(YahooCloseData())  prophet.set_order_generator(OrderGenerator())  backtest = prophet.run_backtest(start=datetime(2010, 1, 1))    prophet.register_portfolio_analyzers(default_analyzers)  analysis = prophet.analyze_backtest(backtest)  print(analysis)  # +--------------------------------------+  # | sharpe            |    1.09754359611 |  # | average_return    | 0.00105478425027 |  # | cumulative_return |         2.168833 |  # | volatility        |  0.0152560508189 |  # +--------------------------------------+    # Generate orders for you to execute today  # Using Nov, 10 2014 as the date because there might be no data for today's  # date (Market might not be open) and we don't want examples to fail.  today = datetime(2014, 11, 10)  print(prophet.generate_orders(today))  # Orders[Order(symbol='AAPL', shares=100)]

项目主页:http://www.open-open.com/lib/view/home/1416884522052