コード例 #1
0
def hydrate_with_quarterly_stmt(symbol_lst):
    logger.info("Running hydrate_with_quarterly_stmt")
    symbol_quarterly_dict = fetcher.fetch_batch(
        symbol_lst, fetcher.fetch_quarterly_stmt_from_mw)
    for symbol_obj in symbol_lst:
        symbol_str = symbol_obj.symbol
        res = parser.parse_stmt_from_mw(symbol_quarterly_dict[symbol_str])
        symbol_obj.quarterly_sales = res[0]
        symbol_obj.quarterly_incomes = res[1]
コード例 #2
0
def hydrate_with_fund_holdings(symbol_lst):
    logger.info("Running hydrate_with_fund_holdings")
    filtered_symbol_lst = filter.filter_local_existent_newer_than(
        local_symbol_dict, symbol_lst, days=5)
    symbol_holdings_dict = fetcher.fetch_batch(
        filtered_symbol_lst, fetcher.fetch_holdings_from_yahoo)
    for symbol_obj in symbol_lst:
        symbol_str = symbol_obj.symbol
        if symbol_str in symbol_holdings_dict:
            symbol_obj.holdings_dict = parser.parse_holdings_from_yahoo(
                symbol_holdings_dict[symbol_str])
        else:
            symbol_obj.holdings_dict = \
                local_symbol_dict[symbol_str].holdings_dict
コード例 #3
0
def hydrate_with_historical_prices(symbol_lst):
    logger.info("Running hydrate_with_historical_prices")
    filtered_symbol_lst = filter.filter_local_existent_newer_than(
        local_symbol_dict, symbol_lst, days=0)
    symbol_hp_dict = fetcher.fetch_batch(
        filtered_symbol_lst, fetcher.fetch_historical_prices_from_pandas)
    for symbol_obj in symbol_lst:
        symbol_str = symbol_obj.symbol
        if symbol_str in symbol_hp_dict:
            symbol_obj.history_prices = parser.parse_historical_prices_from_pandas(
                symbol_str, symbol_hp_dict[symbol_str])
        else:
            symbol_obj.history_prices = \
                local_symbol_dict[symbol_str].history_prices
コード例 #4
0
def hydrate_with_details(symbol_lst):
    logger.info("Running hydrate_with_details")
    filtered_symbol_lst = filter.filter_local_existent_newer_than(
        local_symbol_dict, symbol_lst, days=0)
    symbol_details_dict = fetcher.fetch_batch(
        filtered_symbol_lst, fetcher.fetch_symbol_details_from_finviz)
    for symbol_obj in symbol_lst:
        symbol_str = symbol_obj.symbol
        if symbol_str in symbol_details_dict:
            symbol_obj.attr_dict = parser.parse_attr_dict_from_finviz(
                symbol_details_dict[symbol_str])
        else:
            symbol_obj.attr_dict = \
                local_symbol_dict[symbol_str].attr_dict
コード例 #5
0
def hydrate_with_fund_risk(symbol_lst):
    logger.info("Running hydrate_with_fund_risk")
    # We only use past years's alpha,beta in fund perf, so we cache them
    filtered_symbol_lst = filter.filter_local_existent_newer_than(
        local_symbol_dict, symbol_lst, days=5)
    symbol_risk_dict = fetcher.fetch_batch(filtered_symbol_lst,
                                           fetcher.fetch_risk_from_yahoo)
    for symbol_obj in symbol_lst:
        symbol_str = symbol_obj.symbol
        if symbol_str in symbol_risk_dict:
            symbol_obj.risk_dict = parser.parse_risk_from_yahoo(
                symbol_risk_dict[symbol_str])
        else:
            symbol_obj.risk_dict = \
                local_symbol_dict[symbol_str].risk_dict
コード例 #6
0
def hydrate_with_fund_summary(symbol_lst):
    logger.info("Running hydrate_with_fund_summary")
    # We only use expense ratio in fund summary, so we cache them
    filtered_symbol_lst = filter.filter_local_existent_newer_than(
        local_symbol_dict, symbol_lst, days=31)
    symbol_summary_dict = fetcher.fetch_batch(filtered_symbol_lst,
                                              fetcher.fetch_summary_from_yahoo)
    for symbol_obj in symbol_lst:
        symbol_str = symbol_obj.symbol
        if symbol_str in symbol_summary_dict:
            symbol_obj.summary_dict = parser.parse_summary_from_yahoo(
                symbol_summary_dict[symbol_str])
        else:
            symbol_obj.summary_dict = \
                local_symbol_dict[symbol_str].summary_dict