예제 #1
0
 def get_cashflow_data(provider: Provider, sleep, desc, pc, lock, region,
                       batch):
     # 现金流量表
     CashFlowStatement.record_data(provider=provider,
                                   share_para=(desc, pc, lock, True,
                                               region),
                                   sleeping_time=sleep,
                                   batch_size=batch)
예제 #2
0
def test_000778_cash_flow_statement():
    correct_timestamps = [
        '2018-09-30', '2018-06-30', '2018-03-31', '2017-12-31', '2017-09-30',
        '2017-06-30', '2017-03-31', '2016-12-31', '2016-09-30', '2016-06-30',
        '2016-03-31', '2015-12-31', '2015-09-30', '2015-06-30', '2015-03-31',
        '2014-12-31', '2014-09-30', '2014-06-30', '2014-03-31', '2013-12-31',
        '2013-09-30', '2013-06-30', '2013-03-31', '2012-12-31', '2012-09-30',
        '2012-06-30', '2012-03-31', '2011-12-31', '2011-09-30', '2011-06-30',
        '2011-03-31', '2010-12-31', '2010-09-30', '2010-06-30', '2010-03-31',
        '2009-12-31', '2009-09-30', '2009-06-30', '2009-03-31', '2008-12-31',
        '2008-09-30', '2008-06-30', '2008-03-31', '2007-12-31', '2007-09-30',
        '2007-06-30', '2007-03-31', '2006-12-31', '2006-09-30', '2006-06-30',
        '2006-03-31', '2005-12-31', '2005-09-30', '2005-06-30', '2005-03-31',
        '2004-12-31', '2004-09-30', '2004-06-30', '2004-03-31', '2003-12-31',
        '2003-09-30', '2003-06-30', '2003-03-31', '2002-12-31', '2002-06-30',
        '2001-12-31', '2001-06-30', '2000-12-31', '2000-06-30', '1999-12-31',
        '1998-12-31', '1998-06-30'
    ]
    result = CashFlowStatement.query_data(
        session=session,
        provider='eastmoney',
        return_type='domain',
        codes=['000778'],
        end_timestamp='2018-12-30',
        order=CashFlowStatement.report_date.desc(),
        time_field='report_date')
    assert len(correct_timestamps) == len(result)
    timestamps = [to_time_str(item.report_date) for item in result]
    assert set(correct_timestamps) == set(timestamps)
    latest: CashFlowStatement = result[0]

    assert latest.cash_from_selling == 27784000000
    assert latest.tax_refund == 60700000
    assert latest.cash_from_other_op == 1463000000
    assert latest.total_op_cash_inflows == 29310000000
    assert latest.cash_to_goods_services == 21210000000
    assert latest.cash_to_employees == 1460000000
    assert latest.taxes_and_surcharges == 2016000000
    assert latest.cash_to_other_related_op == 573700000
    assert latest.total_op_cash_outflows == 25260000000
    assert latest.net_op_cash_flows == 4050000000

    assert latest.cash_from_disposal_of_investments == 556500000
    assert latest.cash_from_returns_on_investments == 44180000
    assert latest.cash_from_disposal_fixed_intangible_assets == 457200
    assert latest.cash_from_disposal_subsidiaries == 1046000000
    assert latest.cash_from_other_investing == 553000000
    assert latest.total_investing_cash_inflows == 2201000000
    assert latest.cash_to_acquire_fixed_intangible_assets == 2521000000
    assert latest.cash_to_investments == 1808000000
    assert latest.total_investing_cash_outflows == 4329000000
    assert latest.net_investing_cash_flows == -2128000000

    assert latest.cash_from_accepting_investment == 24500000
    assert latest.cash_from_subsidiaries_accepting_minority_interest == 24500000
    assert latest.cash_from_borrowings == 10080000000
    assert latest.cash_from_issuing_bonds == 997000000
    assert latest.cash_from_other_financing == 200000000
    assert latest.total_financing_cash_inflows == 11300000000
    assert latest.cash_to_repay_borrowings == 11940000000
    assert latest.cash_to_pay_interest_dividend == 892100000
    assert latest.cash_to_other_financing == 328500000
    assert latest.total_financing_cash_outflows == 13160000000
    assert latest.net_financing_cash_flows == -1862000000

    assert latest.foreign_exchange_rate_effect == 21350000
    assert latest.net_cash_increase == 81240000
    assert latest.cash_at_beginning == 5078000000
    assert latest.cash == 5159000000
예제 #3
0
def test_000001_cash_flow_statement():
    correct_timestamps = [
        '2018-09-30', '2018-06-30', '2018-03-31', '2017-12-31', '2017-09-30',
        '2017-06-30', '2017-03-31', '2016-12-31', '2016-09-30', '2016-06-30',
        '2016-03-31', '2015-12-31', '2015-09-30', '2015-06-30', '2015-03-31',
        '2014-12-31', '2014-09-30', '2014-06-30', '2014-03-31', '2013-12-31',
        '2013-09-30', '2013-06-30', '2013-03-31', '2012-12-31', '2012-09-30',
        '2012-06-30', '2012-03-31', '2011-12-31', '2011-09-30', '2011-06-30',
        '2011-03-31', '2010-12-31', '2010-09-30', '2010-06-30', '2010-03-31',
        '2009-12-31', '2009-09-30', '2009-06-30', '2009-03-31', '2008-12-31',
        '2008-09-30', '2008-06-30', '2008-03-31', '2007-12-31', '2007-09-30',
        '2007-06-30', '2007-03-31', '2006-12-31', '2006-09-30', '2006-06-30',
        '2006-03-31', '2005-12-31', '2005-09-30', '2005-06-30', '2005-03-31',
        '2004-12-31', '2004-09-30', '2004-06-30', '2004-03-31', '2003-12-31',
        '2003-09-30', '2003-06-30', '2003-03-31', '2002-12-31', '2002-06-30',
        '2001-12-31', '2001-06-30', '2000-12-31', '2000-06-30', '1999-12-31',
        '1999-06-30', '1998-12-31', '1998-06-30'
    ]
    result = CashFlowStatement.query_data(
        session=session,
        provider='eastmoney',
        return_type='domain',
        codes=['000001'],
        end_timestamp='2018-12-30',
        order=CashFlowStatement.report_date.desc(),
        time_field='report_date')
    assert len(correct_timestamps) == len(result)
    timestamps = [to_time_str(item.report_date) for item in result]
    assert set(correct_timestamps) == set(timestamps)
    latest: CashFlowStatement = result[0]

    # 00000000
    assert latest.fi_deposit_increase == 104700000000
    assert latest.fi_borrow_from_central_bank_increase == 18960000000
    assert latest.fi_deposit_in_others_decrease == 60880000000
    assert latest.fi_lending_and_buy_repurchase_decrease == 12330000000
    assert latest.fi_lending_decrease == 12270000000
    assert latest.fi_buy_repurchase_decrease == 56000000
    assert latest.fi_cash_from_interest_commission == 133700000000
    assert latest.cash_from_other_op == 20540000000
    assert latest.total_op_cash_inflows == 381200000000
    assert latest.fi_loan_advance_increase == 250300000000
    assert latest.fi_borrowing_and_sell_repurchase_decrease == 14350000000
    assert latest.fi_borrowing_decrease == 10190000000
    assert latest.fi_sell_repurchase_decrease == 4155000000
    assert latest.fi_cash_to_interest_commission == 56760000000

    assert latest.cash_to_employees == 12930000000
    assert latest.taxes_and_surcharges == 20010000000
    assert latest.cash_to_other_related_op == 38150000000
    assert latest.total_op_cash_outflows == 392500000000
    assert latest.net_op_cash_flows == -11310000000

    assert latest.cash_from_disposal_of_investments == 348900000000
    assert latest.cash_from_returns_on_investments == 21080000000
    assert latest.cash_from_disposal_fixed_intangible_assets == 108000000
    assert latest.total_investing_cash_inflows == 370100000000
    assert latest.cash_to_investments == 294600000000
    assert latest.cash_to_acquire_fixed_intangible_assets == 1518000000
    assert latest.total_investing_cash_outflows == 296100000000
    assert latest.net_investing_cash_flows == 73960000000
    assert latest.cash_from_issuing_bonds == 581200000000
    assert latest.total_financing_cash_inflows == 581200000000
    assert latest.cash_to_repay_borrowings == 612500000000
    assert latest.fi_cash_to_pay_interest == 2511000000
    assert latest.cash_to_pay_interest_dividend == 3209000000
    assert latest.total_financing_cash_outflows == 618300000000
    assert latest.net_financing_cash_flows == -37080000000
    assert latest.foreign_exchange_rate_effect == 2018000000
    assert latest.net_cash_increase == 27590000000
    assert latest.cash_at_beginning == 137000000000
    assert latest.cash == 164600000000
예제 #4
0
    #     columns=[
    #         CashFlowStatement.net_op_cash_flows,
    #         CashFlowStatement.net_investing_cash_flows,
    #         CashFlowStatement.net_financing_cash_flows,
    #     ],
    #     filters=[
    #         CashFlowStatement.report_period == "year",
    #         CashFlowStatement.report_date == to_pd_timestamp("2015-12-31"),
    #     ],
    # )
    df = CashFlowStatement.query_data(
        entity_id="stock_sz_000338",
        columns=[
            CashFlowStatement.net_op_cash_flows,
            CashFlowStatement.net_investing_cash_flows,
            CashFlowStatement.net_financing_cash_flows,
        ],
        filters=[
            CashFlowStatement.report_period == "year",
            CashFlowStatement.report_date == to_pd_timestamp("2015-12-31"),
        ],
        index="timestamp",
    )
    composite_df(df=df)

# the __all__ is generated
__all__ = [
    "compare", "compare_df", "distribute", "distribute_df", "composite",
    "composite_df", "composite_all"
]