def outputPLstats(keyname, namespace = ''): import processDesires originalNamespace = namespace_manager.get_namespace() namespace_manager.set_namespace(namespace) try: meta = meSchema.metaAlg.get_by_key_name(keyname) trades = eval(meta.CashDelta) if namespace == '': stockList = ['HBC','CME','GOOG','INTC'] else: stockList = [namespace] tradeDict = {} for stock in stockList: tradeDict[stock] = {'P':0.0,'L':0.0,'Ptrades':[],'Ltrades':[]} for trade in trades: stock = trade['Symbol'] if not (trade['PandL'] <= -10.0 and trade['PandL'] >= -14.0) and trade['PandL'] - 10.0 > 0.0: tradeDict[stock]['P'] += trade['PandL'] - 10.0 tradeDict[stock]['Ptrades'].append(trade['PandL'] - 10.0) elif not (trade['PandL'] <= -10.0 and trade['PandL'] >= -14.0) and trade['PandL'] - 10.0 < 0.0: tradeDict[stock]['L'] += trade['PandL'] - 10.0 tradeDict[stock]['Ltrades'].append(trade['PandL'] - 10.0) for stock in tradeDict: try: stdDevP, meanP = processDesires.getStandardDeviationMean(tradeDict[stock]['Ptrades']) stdDevL, meanL = processDesires.getStandardDeviationMean(tradeDict[stock]['Ltrades']) print stock, ':', tradeDict[stock]['P'], ':', max(tradeDict[stock]['Ptrades']), print ':', len(tradeDict[stock]['Ptrades']), ':', meanP, ' stdDev:', stdDevP print stock, ':', tradeDict[stock]['L'], ':', min(tradeDict[stock]['Ltrades']), print ':', len(tradeDict[stock]['Ltrades']), ':', meanL, ' stdDev:', stdDevL except: print 'Error Encountered!' finally: namespace_manager.set_namespace(originalNamespace)
def getStdDevMeans(histRets): import processDesires stdDevMeanDict = {} for stckKey in histRets: stdDevMeanDict[stckKey] = {} for key in histRets[stckKey]: stdDev,mean = processDesires.getStandardDeviationMean(histRets[stckKey][key]) stdDevMeanDict[stckKey][key] = {'StdDev' : stdDev, 'Mean' : mean} return stdDevMeanDict