程序員的金融市場分析框架:Prophet

jopen 10年前發布 | 27K 次閱讀 Prophet Python開發

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)]</pre>

項目主頁:http://www.baiduhome.net/lib/view/home/1416884522052

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!