Пример #1
0
    def on_finish(self):
        last_year = str(now_pd_timestamp().year)
        codes = [item.code for item in self.entities]
        need_filleds = get_dividend_financing(
            provider=self.provider,
            codes=codes,
            return_type='domain',
            session=self.session,
            filters=[DividendFinancing.rights_raising_fund.is_(None)],
            end_timestamp=last_year)

        for item in need_filleds:
            df = get_rights_issue_detail(
                provider=self.provider,
                entity_id=item.entity_id,
                columns=[
                    RightsIssueDetail.timestamp,
                    RightsIssueDetail.rights_raising_fund
                ],
                start_timestamp=item.timestamp,
                end_timestamp="{}-12-31".format(item.timestamp.year))
            if df_is_not_null(df):
                item.rights_raising_fund = df['rights_raising_fund'].sum()
                self.session.commit()

        super().on_finish()
Пример #2
0
def test_000778_dividend_financing():
    result = get_dividend_financing(session=session, provider='eastmoney', return_type='domain',
                                    codes=['000778'], end_timestamp='2018-09-30',
                                    order=DividendFinancing.timestamp.desc())
    assert len(result) == 22
    latest: DividendFinancing = result[1]
    assert latest.timestamp == to_pd_timestamp('2017')
    assert latest.dividend_money == 598632026.4
    assert latest.spo_issues == 347572815.0
    assert latest.rights_issues == 0
    assert latest.ipo_issues == 0
Пример #3
0
    def on_finish(self):
        code_security = {}
        for item in self.entities:
            code_security[item.code] = item

        need_fill_items = get_dividend_financing(provider=self.provider, codes=list(code_security.keys()),
                                                 return_type='domain',
                                                 session=self.session,
                                                 filters=[
                                                     DividendFinancing.ipo_raising_fund.is_(None),
                                                     DividendFinancing.ipo_issues != 0])

        for need_fill_item in need_fill_items:
            if need_fill_item:
                need_fill_item.ipo_raising_fund = code_security[item.code].raising_fund
                self.session.commit()

        super().on_finish()