class CapitalIncreaseHistoryDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'year', 'base_path' : './report/chart/data/capital_increase_history/', } return self.data_creator.create(create_param) def __build_data_param(self, param): stock_symbol = param['stock_symbol'] analyzer = CapitalIncreaseHistoryAnalyzer(stock_symbol) capital_increase_by_cash = analyzer.get_capital_increase_by_cash().get() capital_increase_by_earnings = analyzer.get_capital_increase_by_earnings().get() capital_increase_by_surplus = analyzer.get_capital_increase_by_surplus().get() return { 'capital_increase_by_cash' : { 'value' : capital_increase_by_cash, 'format' : 'float', }, 'capital_increase_by_earnings' : { 'value' : capital_increase_by_earnings, 'format' : 'float', }, 'capital_increase_by_surplus' : { 'value' : capital_increase_by_surplus, 'format' : 'float', } }
class DividendPolicyDataCreator: def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { "stock_symbol": param["stock_symbol"], "data": self.__build_data_param(param), "category_field": "year", "base_path": "./report/chart/data/dividend_policy/", } return self.data_creator.create(create_param) def __build_data_param(self, param): stock_symbol = param["stock_symbol"] analyzer = DividendPolicyAnalyzer(stock_symbol) cash_dividends = analyzer.get_cash_dividends().get() stock_dividends_from_retained_earnings = analyzer.get_stock_dividends_from_retained_earnings().get() stock_dividends_from_capital_reserve = analyzer.get_stock_dividends_from_capital_reserve().get() stock_dividends = analyzer.get_stock_dividends().get() employee_stock_bonus_ratio = analyzer.get_employee_stock_bonus_ratio().get() return { "cash_dividends": {"value": cash_dividends, "format": "float"}, "stock_dividends_from_retained_earnings": { "value": stock_dividends_from_retained_earnings, "format": "float", }, "stock_dividends_from_capital_reserve": {"value": stock_dividends_from_capital_reserve, "format": "float"}, "stock_dividends": {"value": stock_dividends, "format": "float"}, "employee_stock_bonus_ratio": {"value": employee_stock_bonus_ratio, "format": "percentage"}, }
class KnDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = KnAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) min_kn = analyzer.get_min_kn().get() max_kn = analyzer.get_max_kn().get() return { 'min_kn' : { 'value' : min_kn, 'format' : 'percentage', }, 'max_kn' : { 'value' : max_kn, 'format' : 'percentage', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/kn/yearly/' elif param['period'] == 'Q': return './report/chart/data/kn/quarterly/'
class CashFlowDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = CashFlowAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) net_profit = analyzer.get_net_profit().get() cash_flow_from_operating_activities = analyzer.get_cash_flow_from_operating_activities().get() cash_flow_from_investing_activities = analyzer.get_cash_flow_from_investing_activities().get() cash_flow_from_financing_activities = analyzer.get_cash_flow_from_financing_activities().get() free_cash_flow = analyzer.get_free_cash_flow().get() accumulated_free_cash_flow = analyzer.get_accumulated_free_cash_flow().get() long_term_investments_to_assets_ratio = analyzer.get_long_term_investments_to_assets_ratio().get() return { 'net_profit' : { 'value' : net_profit, 'format' : 'integer', }, 'cash_flow_from_operating_activities' : { 'value' : cash_flow_from_operating_activities, 'format' : 'integer', }, 'cash_flow_from_investing_activities' : { 'value' : cash_flow_from_investing_activities, 'format' : 'integer', }, 'cash_flow_from_financing_activities' : { 'value' : cash_flow_from_financing_activities, 'format' : 'integer', }, 'free_cash_flow' : { 'value' : free_cash_flow, 'format' : 'integer', }, 'accumulated_free_cash_flow' : { 'value' : accumulated_free_cash_flow, 'format' : 'integer', }, 'long_term_investments_to_assets_ratio' : { 'value' : long_term_investments_to_assets_ratio, 'format' : 'percentage', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/cash_flow/yearly/' elif param['period'] == 'Q': return './report/chart/data/cash_flow/quarterly/'
class RevenueIndexDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'date', 'base_path': self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = RevenueIndexAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) inventory_index = analyzer.get_inventory_index().get() accounts_receivable_index = analyzer.get_accounts_receivable_index( ).get() gross_profit_index = analyzer.get_gross_profit_index().get() selling_and_administrative_expenses_index = analyzer.get_selling_and_administrative_expenses_index( ).get() accounts_payable_index = analyzer.get_accounts_payable_index().get() return { 'inventory_index': { 'value': inventory_index, 'format': 'float', }, 'accounts_receivable_index': { 'value': accounts_receivable_index, 'format': 'float', }, 'gross_profit_index': { 'value': gross_profit_index, 'format': 'float', }, 'selling_and_administrative_expenses_index': { 'value': selling_and_administrative_expenses_index, 'format': 'float', }, 'accounts_payable_index': { 'value': accounts_payable_index, 'format': 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/revenue_index/yearly/' elif param['period'] == 'Q': return './report/chart/data/revenue_index/quarterly/'
class CapitalStructureDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'date', 'base_path': self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = CapitalStructureAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) equity_ratio = analyzer.get_equity_ratio().get() liabilities_ratio = analyzer.get_liabilities_ratio().get() true_liabilities_ratio = analyzer.get_true_liabilities_ratio().get() equity_multiplier = analyzer.get_equity_multiplier().get() long_term_capital_to_fixed_assets_ratio = analyzer.get_long_term_capital_to_fixed_assets_ratio( ).get() return { 'equity_ratio': { 'value': equity_ratio, 'format': 'percentage', }, 'liabilities_ratio': { 'value': liabilities_ratio, 'format': 'percentage', }, 'true_liabilities_ratio': { 'value': true_liabilities_ratio, 'format': 'percentage', }, 'equity_multiplier': { 'value': equity_multiplier, 'format': 'float', }, 'long_term_capital_to_fixed_assets_ratio': { 'value': long_term_capital_to_fixed_assets_ratio, 'format': 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/capital_structure/yearly/' elif param['period'] == 'Q': return './report/chart/data/capital_structure/quarterly/'
class DupontDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'date', 'base_path': self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = DupontAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) roe = analyzer.get_roe().get() roa = analyzer.get_roa().get() ros = analyzer.get_ros().get() ato = analyzer.get_ato().get() equity_multiplier = analyzer.get_equity_multiplier().get() return { 'roe': { 'value': roe, 'format': 'percentage', }, 'roa': { 'value': roa, 'format': 'percentage', }, 'ros': { 'value': ros, 'format': 'percentage', }, 'ato': { 'value': ato, 'format': 'percentage', }, 'equity_multiplier': { 'value': equity_multiplier, 'format': 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/dupont/yearly/' elif param['period'] == 'Q': return './report/chart/data/dupont/quarterly/'
class CapitalStructureDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = CapitalStructureAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) equity_ratio = analyzer.get_equity_ratio().get() liabilities_ratio = analyzer.get_liabilities_ratio().get() true_liabilities_ratio = analyzer.get_true_liabilities_ratio().get() equity_multiplier = analyzer.get_equity_multiplier().get() long_term_capital_to_fixed_assets_ratio = analyzer.get_long_term_capital_to_fixed_assets_ratio().get() return { 'equity_ratio' : { 'value' : equity_ratio, 'format' : 'percentage', }, 'liabilities_ratio' : { 'value' : liabilities_ratio, 'format' : 'percentage', }, 'true_liabilities_ratio' : { 'value' : true_liabilities_ratio, 'format' : 'percentage', }, 'equity_multiplier' : { 'value' : equity_multiplier, 'format' : 'float', }, 'long_term_capital_to_fixed_assets_ratio' : { 'value' : long_term_capital_to_fixed_assets_ratio, 'format' : 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/capital_structure/yearly/' elif param['period'] == 'Q': return './report/chart/data/capital_structure/quarterly/'
class DupontDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = DupontAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) roe = analyzer.get_roe().get() roa = analyzer.get_roa().get() ros = analyzer.get_ros().get() ato = analyzer.get_ato().get() equity_multiplier = analyzer.get_equity_multiplier().get() return { 'roe' : { 'value' : roe, 'format' : 'percentage', }, 'roa' : { 'value' : roa, 'format' : 'percentage', }, 'ros' : { 'value' : ros, 'format' : 'percentage', }, 'ato' : { 'value' : ato, 'format' : 'percentage', }, 'equity_multiplier' : { 'value' : equity_multiplier, 'format' : 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/dupont/yearly/' elif param['period'] == 'Q': return './report/chart/data/dupont/quarterly/'
class RevenueIndexDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = RevenueIndexAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) inventory_index = analyzer.get_inventory_index().get() accounts_receivable_index = analyzer.get_accounts_receivable_index().get() gross_profit_index = analyzer.get_gross_profit_index().get() selling_and_administrative_expenses_index = analyzer.get_selling_and_administrative_expenses_index().get() accounts_payable_index = analyzer.get_accounts_payable_index().get() return { 'inventory_index' : { 'value' : inventory_index, 'format' : 'float', }, 'accounts_receivable_index' : { 'value' : accounts_receivable_index, 'format' : 'float', }, 'gross_profit_index' : { 'value' : gross_profit_index, 'format' : 'float', }, 'selling_and_administrative_expenses_index' : { 'value' : selling_and_administrative_expenses_index, 'format' : 'float', }, 'accounts_payable_index' : { 'value' : accounts_payable_index, 'format' : 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/revenue_index/yearly/' elif param['period'] == 'Q': return './report/chart/data/revenue_index/quarterly/'
class DividendPolicyDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'year', 'base_path': './report/chart/data/dividend_policy/', } return self.data_creator.create(create_param) def __build_data_param(self, param): stock_symbol = param['stock_symbol'] analyzer = DividendPolicyAnalyzer(stock_symbol) cash_dividends = analyzer.get_cash_dividends().get() stock_dividends_from_retained_earnings = analyzer.get_stock_dividends_from_retained_earnings( ).get() stock_dividends_from_capital_reserve = analyzer.get_stock_dividends_from_capital_reserve( ).get() stock_dividends = analyzer.get_stock_dividends().get() employee_stock_bonus_ratio = analyzer.get_employee_stock_bonus_ratio( ).get() return { 'cash_dividends': { 'value': cash_dividends, 'format': 'float', }, 'stock_dividends_from_retained_earnings': { 'value': stock_dividends_from_retained_earnings, 'format': 'float', }, 'stock_dividends_from_capital_reserve': { 'value': stock_dividends_from_capital_reserve, 'format': 'float', }, 'stock_dividends': { 'value': stock_dividends, 'format': 'float', }, 'employee_stock_bonus_ratio': { 'value': employee_stock_bonus_ratio, 'format': 'percentage', }, }
class OperatingRevenueDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'date', 'base_path': './report/chart/data/operating_revenue/', } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = OperatingRevenueAnalyzer(stock_symbol=param['stock_symbol']) operating_revenue = analyzer.get_operating_revenue().get() accumulated_operating_revenue = analyzer.get_accumulated_operating_revenue( ).get() accumulated_operating_revenue_yoy = analyzer.get_accumulated_operating_revenue_yoy( ).get() long_term_average = analyzer.get_long_term_average().get() short_term_average = analyzer.get_short_term_average().get() return { 'operating_revenue': { 'value': operating_revenue, 'format': 'integer', }, 'accumulated_operating_revenue': { 'value': accumulated_operating_revenue, 'format': 'integer', }, 'accumulated_operating_revenue_yoy': { 'value': accumulated_operating_revenue_yoy, 'format': 'percentage', }, 'long_term_average': { 'value': long_term_average, 'format': 'integer', }, 'short_term_average': { 'value': short_term_average, 'format': 'integer', }, }
class OperatingRevenueDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : './report/chart/data/operating_revenue/', } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = OperatingRevenueAnalyzer(stock_symbol=param['stock_symbol']) operating_revenue = analyzer.get_operating_revenue().get() accumulated_operating_revenue = analyzer.get_accumulated_operating_revenue().get() accumulated_operating_revenue_yoy = analyzer.get_accumulated_operating_revenue_yoy().get() long_term_average = analyzer.get_long_term_average().get() short_term_average = analyzer.get_short_term_average().get() return { 'operating_revenue' : { 'value' : operating_revenue, 'format' : 'integer', }, 'accumulated_operating_revenue' : { 'value' : accumulated_operating_revenue, 'format' : 'integer', }, 'accumulated_operating_revenue_yoy' : { 'value' : accumulated_operating_revenue_yoy, 'format' : 'percentage', }, 'long_term_average' : { 'value' : long_term_average, 'format' : 'integer', }, 'short_term_average' : { 'value' : short_term_average, 'format' : 'integer', }, }
class LiquidityDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'date', 'base_path': self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = LiquidityAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) current_ratio = analyzer.get_current_ratio().get() quick_ratio = analyzer.get_quick_ratio().get() interest_protection_multiples = analyzer.get_interest_protection_multiples( ).get() return { 'current_ratio': { 'value': current_ratio, 'format': 'float', }, 'quick_ratio': { 'value': quick_ratio, 'format': 'float', }, 'interest_protection_multiples': { 'value': interest_protection_multiples, 'format': 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/liquidity/yearly/' elif param['period'] == 'Q': return './report/chart/data/liquidity/quarterly/'
class LiquidityDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = LiquidityAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) current_ratio = analyzer.get_current_ratio().get() quick_ratio = analyzer.get_quick_ratio().get() interest_protection_multiples = analyzer.get_interest_protection_multiples().get() return { 'current_ratio' : { 'value' : current_ratio, 'format' : 'float', }, 'quick_ratio' : { 'value' : quick_ratio, 'format' : 'float', }, 'interest_protection_multiples' : { 'value' : interest_protection_multiples, 'format' : 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/liquidity/yearly/' elif param['period'] == 'Q': return './report/chart/data/liquidity/quarterly/'
class CapitalIncreaseHistoryDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'year', 'base_path': './report/chart/data/capital_increase_history/', } return self.data_creator.create(create_param) def __build_data_param(self, param): stock_symbol = param['stock_symbol'] analyzer = CapitalIncreaseHistoryAnalyzer(stock_symbol) capital_increase_by_cash = analyzer.get_capital_increase_by_cash().get( ) capital_increase_by_earnings = analyzer.get_capital_increase_by_earnings( ).get() capital_increase_by_surplus = analyzer.get_capital_increase_by_surplus( ).get() return { 'capital_increase_by_cash': { 'value': capital_increase_by_cash, 'format': 'float', }, 'capital_increase_by_earnings': { 'value': capital_increase_by_earnings, 'format': 'float', }, 'capital_increase_by_surplus': { 'value': capital_increase_by_surplus, 'format': 'float', } }
def __init__(self): self.data_creator = DataCreator()
class ProfitabilityDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol' : param['stock_symbol'], 'data' : self.__build_data_param(param), 'category_field' : 'date', 'base_path' : self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = ProfitabilityAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) gross_profit_margin = analyzer.get_gross_profit_margin().get() operating_profit_margin = analyzer.get_operating_profit_margin().get() net_profit_before_tax_margin = analyzer.get_net_profit_before_tax_margin().get() net_profit_margin = analyzer.get_net_profit_margin().get() # Cash Conversion Cycle (CCC) dio = analyzer.get_dio().get() dso = analyzer.get_dso().get() dpo = analyzer.get_dpo().get() ccc = analyzer.get_cash_conversion_cycle().get() return { 'gross_profit_margin' : { 'value' : gross_profit_margin, 'format' : 'percentage', }, 'operating_profit_margin' : { 'value' : operating_profit_margin, 'format' : 'percentage', }, 'net_profit_before_tax_margin' : { 'value' : net_profit_before_tax_margin, 'format' : 'percentage', }, 'net_profit_margin' : { 'value' : net_profit_margin, 'format' : 'percentage', }, 'dio' : { 'value' : dio, 'format' : 'float', }, 'dso' : { 'value' : dso, 'format' : 'float', }, 'dpo' : { 'value' : dpo, 'format' : 'float', }, 'ccc' : { 'value' : ccc, 'format' : 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/profitability/yearly/' elif param['period'] == 'Q': return './report/chart/data/profitability/quarterly/'
class ProfitabilityDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'date', 'base_path': self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = ProfitabilityAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) gross_profit_margin = analyzer.get_gross_profit_margin().get() operating_profit_margin = analyzer.get_operating_profit_margin().get() net_profit_before_tax_margin = analyzer.get_net_profit_before_tax_margin( ).get() net_profit_margin = analyzer.get_net_profit_margin().get() # Cash Conversion Cycle (CCC) dio = analyzer.get_dio().get() dso = analyzer.get_dso().get() dpo = analyzer.get_dpo().get() ccc = analyzer.get_cash_conversion_cycle().get() return { 'gross_profit_margin': { 'value': gross_profit_margin, 'format': 'percentage', }, 'operating_profit_margin': { 'value': operating_profit_margin, 'format': 'percentage', }, 'net_profit_before_tax_margin': { 'value': net_profit_before_tax_margin, 'format': 'percentage', }, 'net_profit_margin': { 'value': net_profit_margin, 'format': 'percentage', }, 'dio': { 'value': dio, 'format': 'float', }, 'dso': { 'value': dso, 'format': 'float', }, 'dpo': { 'value': dpo, 'format': 'float', }, 'ccc': { 'value': ccc, 'format': 'float', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/profitability/yearly/' elif param['period'] == 'Q': return './report/chart/data/profitability/quarterly/'
class CashFlowDataCreator(): def __init__(self): self.data_creator = DataCreator() def create(self, param): create_param = { 'stock_symbol': param['stock_symbol'], 'data': self.__build_data_param(param), 'category_field': 'date', 'base_path': self.__build_base_path(param), } return self.data_creator.create(create_param) def __build_data_param(self, param): analyzer = CashFlowAnalyzer(stock_symbol=param['stock_symbol'], period=param['period']) net_profit = analyzer.get_net_profit().get() cash_flow_from_operating_activities = analyzer.get_cash_flow_from_operating_activities( ).get() cash_flow_from_investing_activities = analyzer.get_cash_flow_from_investing_activities( ).get() cash_flow_from_financing_activities = analyzer.get_cash_flow_from_financing_activities( ).get() free_cash_flow = analyzer.get_free_cash_flow().get() accumulated_free_cash_flow = analyzer.get_accumulated_free_cash_flow( ).get() long_term_investments_to_assets_ratio = analyzer.get_long_term_investments_to_assets_ratio( ).get() return { 'net_profit': { 'value': net_profit, 'format': 'integer', }, 'cash_flow_from_operating_activities': { 'value': cash_flow_from_operating_activities, 'format': 'integer', }, 'cash_flow_from_investing_activities': { 'value': cash_flow_from_investing_activities, 'format': 'integer', }, 'cash_flow_from_financing_activities': { 'value': cash_flow_from_financing_activities, 'format': 'integer', }, 'free_cash_flow': { 'value': free_cash_flow, 'format': 'integer', }, 'accumulated_free_cash_flow': { 'value': accumulated_free_cash_flow, 'format': 'integer', }, 'long_term_investments_to_assets_ratio': { 'value': long_term_investments_to_assets_ratio, 'format': 'percentage', }, } def __build_base_path(self, param): if param['period'] == 'Y': return './report/chart/data/cash_flow/yearly/' elif param['period'] == 'Q': return './report/chart/data/cash_flow/quarterly/'