def compare(): syms = request.args.get('symbols').split(';') series = {} for sym in syms: stock = Market.get_stock(sym) close = stock.prices.close series[sym] = close.to_json(orient="split") return render_template('compare.html', data=series)
def event_profile(algo, size=30): buy_window = np.zeros(size) buy_count = 0 sell_window = np.zeros(size) sell_count = 0 orders = algo.blotter.orders for order in orders.values(): stock = Market.get_stock(order.sid, reindex=False) index = stock.index.searchsorted(order.created) w = stock['close'].ix[index-size/2:index+size/2] / stock['close'].ix[index] if order.amount > 0: buy_window += w buy_count += 1 else: sell_window += w sell_count += 1 buy_window /= buy_count sell_window /= sell_count return buy_window, sell_window
def _stock(sym): stock = Market.get_stock(sym) return stock.prices.to_json(orient="split")
def get_benchmark(sym, start_date, end_date): bench = Market.get_stock(sym, start_date, end_date) benchmark = bench.prices['close'] return benchmark