BF.B BF-B BF.A BF-A BRK.B BRK-B LEN.B LEN-B """ universe = Utility.get_stock_universe("stock_universe.csv") u_tick = universe["Tick"].unique().tolist() # comp_MF_data = Utility.get_compustat_data('CQA_MF_data.csv', exchanges=['11', '12', '14']) # comp_MOH_ad_data = Utility.get_compustat_data('CQA_MOH_AD_data.csv', exchanges=['11', '12', '14']) # MOH_result = MOH_calc.Calc(comp_MOH_data, u_tick, comp_MOH_ad_data) # get data from Yahoo returns = YahooData.get_returns(u_tick) values = YahooData.get_ev_ebitda(u_tick) df = universe.join(values) mkt_cap_df = YahooData.get_value(u_tick, "Mkt_cap") """ mkt_cap_df.ix['FLOW'] = 22720 mkt_cap_df.ix['MSG'] = 4450 mkt_cap_df.ix['ALLE'] = 5730 mkt_cap_df.ix['GHC'] = 3370 mkt_cap_df.ix['HME'] = 4370 """ # if 'N/A' in mkt_cap_df['Mkt_cap']: mkt_cap_df[mkt_cap_df["Mkt_cap"] == "N/A"] = np.nan # calculate score based on compustat data comp_MF_data = Utility.get_compustat_data("CQA_MF_data.csv", exchanges=["11", "12", "14"])
from Data import YahooData import numpy as np import pandas as pd from Data import Utility universe = Utility.get_stock_universe('stock_universe.csv') u_tick = universe['Tick'].unique().tolist() universe.set_index('Tick', inplace=True) returns = YahooData.get_returns(u_tick) ev_ebitda = YahooData.get_ev_ebitda(u_tick) ocf_ev = YahooData.get_ocf_ev(u_tick) ratios = YahooData.get_ratios(u_tick, ['Price', 'PS', 'PB', 'PE', '50ma', '200ma']) comp_info = YahooData.get_sector_industry(u_tick) df = universe.join(comp_info) df = df.join(ratios) df = df.join(ev_ebitda) df = df.join(ocf_ev) df = df.join(returns) df = df.replace('N/A', np.nan) df['ma_ratio'] = df['50ma'].astype(float) / df['200ma'].astype(float) df['ebitda_ev_rank'] = df['ebitda_ev'].astype(float).rank(ascending=True) df['ocf_ev_rank'] = df['ocf_ev'].astype(float).rank(ascending=True) df['PS_rank'] = df['PS'].astype(float).rank(ascending=False) df['PB_rank'] = df['PB'].astype(float).rank(ascending=False) df['PE_rank'] = df['PE'].astype(float).rank(ascending=False) df['ma_ratio_rank'] = df['ma_ratio'].rank(ascending=True) df['return_rank'] = df['1yr_rtn'].rank(ascending=True)