Пример #1
0
class Stock(db.Model):
    __tablename__ = "stock"
    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), unique=True, index=True, nullable=False)
    name = db.Column(db.String(20), nullable=True)

    def __repr__(self):
        return "%s %s" % (self.code, self.name)
Пример #2
0
class StockGroup(db.Model):
    __tablename__ = "stock_group"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), nullable=False)
    stocks = db.relationship("Stock",
                             secondary='stock_group_log',
                             backref=db.backref("groups", lazy="dynamic"),
                             lazy="dynamic")

    def __repr__(self):
        return self.name
Пример #3
0
class MyInterests(db.Model):
    __tablename__ = "my_interests"
    __table_args__ = (UniqueConstraint("user_id", "code", name="k_uid_code"), )

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), unique=True, index=True, nullable=False)
    user_id = db.Column(db.Integer, default=1)
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)
Пример #4
0
class MyPool(db.Model):
    __tablename__ = "my_pool"
    __table_args__ = (UniqueConstraint("user_id", "code", name="k_uid_code"), )

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), unique=True, index=True, nullable=False)
    positive_valuation = db.Column(db.Float,
                                   nullable=False,
                                   comment="乐观估值(元/每股)")
    negative_valuation = db.Column(db.Float,
                                   nullable=False,
                                   comment="保守估值(元/每股)")
    safe_of_margin = db.Column(db.Float,
                               nullable=False,
                               default=0.25,
                               comment="安全边际")
    user_id = db.Column(db.Integer, default=1)
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)
Пример #5
0
class StockCashFlow(db.Model):
    __tablename__ = "stock_cash_flow"
    __table_args__ = (UniqueConstraint("code",
                                       "account_date",
                                       name="uk_code_date"), )

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), index=True, nullable=False)
    net_operating_cashflow = db.Column(db.Float, comment="经营活动产生的现金流量净额")
    net_investing_cashflow = db.Column(db.Float, comment="投资活动产生的现金流量净额")
    net_financing_cashflow = db.Column(db.Float, comment="筹资活动产生的现金流量净额")
    account_date = db.Column(db.Date,
                             nullable=False,
                             index=True,
                             comment="报告期")
Пример #6
0
class StockIncomeStatement(db.Model):
    __tablename__ = "stock_income_statement"
    __table_args__ = (UniqueConstraint("code",
                                       "account_date",
                                       name="uk_code_date"), )

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), index=True, nullable=False)
    account_date = db.Column(db.Date,
                             nullable=False,
                             index=True,
                             comment="报告期")
    total_revenue = db.Column(db.Float, comment="营业总收入")
    revenue = db.Column(db.Float, comment="其中:营业收入")
    operating_costs = db.Column(db.Float, comment="营业总成本")
    operating_cost = db.Column(db.Float, comment="其中:营业成本")
    sales_fee = db.Column(db.Float, comment="销售费用")
    manage_fee = db.Column(db.Float, comment="管理费用")
    rad_cost = db.Column(db.Float, comment="研发费用")
    financing_expenses = db.Column(db.Float, comment="财务费用")
    finance_cost_interest_fee = db.Column(db.Float, comment="其中:利息费用")
    asset_impairment_loss = db.Column(db.Float, comment="资产减值损失")
    credit_impairment_loss = db.Column(db.Float, comment="信用减值损失")
    invest_income = db.Column(db.Float, comment="投资收益")
    invest_incomes_from_rr = db.Column(db.Float, comment="其中:对联营企业和合营企业的投资收益")
    asset_disposal_income = db.Column(db.Float, comment="资产处置收益")
    op = db.Column(db.Float, comment="营业利润")
    profit_total_amt = db.Column(db.Float, comment="利润总额")
    net_profit = db.Column(db.Float, comment="净利润")
    net_profit_atsopc = db.Column(db.Float, comment="归属于母公司所有者的净利润")
    operating_taxes_and_surcharge = db.Column(db.Float, comment="营业税金及附加")
Пример #7
0
class StockIndicators(db.Model):
    __tablename__ = "stock_indicators"
    __table_args__ = (UniqueConstraint("code",
                                       "account_date",
                                       name="uk_code_date"), )

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), index=True, nullable=False)
    account_date = db.Column(db.Date,
                             nullable=False,
                             index=True,
                             comment="报告期")
    total_revenue = db.Column(db.Float, comment="营业总收入(元)")
    operating_income_yoy = db.Column(db.Float, comment="营业收入同比增长(%)")
    net_profit_atsopc = db.Column(db.Float, comment="净利润(元)")
    net_profit_atsopc_yoy = db.Column(db.Float, comment="净利润同比增长(%)")
    net_profit_after_nrgal_atsolc = db.Column(db.Float, comment="扣非净利润(元)")
    np_atsopc_nrgal_yoy = db.Column(db.Float, comment="扣非净利润同比增长(%)")
    basic_eps = db.Column(db.Float, comment="每股收益(元)")
    np_per_share = db.Column(db.Float, comment="每股净资产(元)")
    capital_reserve = db.Column(db.Float, comment="每股资本公积金(元)")
    undistri_profit_ps = db.Column(db.Float, comment="每股未分配利润(元)")
    operate_cash_flow_ps = db.Column(db.Float, comment="每股经营现金流(元)")
    roe = db.Column(db.Float, comment="净资产收益率ROE(%)")
    roe_dlt = db.Column(db.Float, comment="净资产收益率-摊薄(%)")
    net_interest_of_total_assets = db.Column(db.Float, comment="总资产报酬率ROA(%)")
    rop = db.Column(db.Float, comment="人力投入回报率(%)")
    gross_selling_rate = db.Column(db.Float, comment="销售毛利率(%)")
    net_selling_rate = db.Column(db.Float, comment="销售净利率(%)")
    asset_liab_ratio = db.Column(db.Float, comment="资产负债率(%)")
    current_ratio = db.Column(db.Float, comment="流动比率")
    quick_ratio = db.Column(db.Float, comment="速动比率")
    equity_multiplier = db.Column(db.Float, comment="权益乘数")
    equity_ratio = db.Column(db.Float, comment="产权比率")
    holder_equity = db.Column(db.Float, comment="股东权益比率")
    ncf_from_oa_to_total_liab = db.Column(db.Float, comment="现金流量比率")
    inventory_turnover_days = db.Column(db.Float, comment="存货周转天数")
    receivable_turnover_days = db.Column(db.Float, comment="应收账款周转天数")
    accounts_payable_turnover_days = db.Column(db.Float, comment="应付账款周转天数")
    cash_cycle = db.Column(db.Float, comment="现金循环周期")
    operating_cycle = db.Column(db.Float, comment="营业周期")
    total_capital_turnover = db.Column(db.Float, comment="总资产周转率")
    inventory_turnover = db.Column(db.Float, comment="存货周转率")
    accounts_receivable_turnover = db.Column(db.Float, comment="应收账款周转率")
    accounts_payable_turnover = db.Column(db.Float, comment="应付账款周转率")
    current_asset_turnover_rate = db.Column(db.Float, comment="流动资产周转率")
    fixed_asset_turnover_ratio = db.Column(db.Float, comment="固定资产周转率")
Пример #8
0
class StockBalanceSheet(db.Model):
    __tablename__ = "stock_balance_sheet"
    __table_args__ = (UniqueConstraint("code",
                                       "account_date",
                                       name="uk_code_date"), )

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), index=True, nullable=False)
    account_date = db.Column(db.Date,
                             nullable=False,
                             index=True,
                             comment="报告期")
    currency_funds = db.Column(db.Float, comment="货币现金")
    total_current_assets = db.Column(db.Float, comment="流动资产合计")
    total_noncurrent_assets = db.Column(db.Float, comment="非流动资产合计")
    total_assets = db.Column(db.Float, comment="资产总计")
    total_current_liab = db.Column(db.Float, comment="流动负债合计")
    total_noncurrent_liab = db.Column(db.Float, comment="非流动负债合计")
    total_liab = db.Column(db.Float, comment="负债合计")
    total_quity_atsopc = db.Column(db.Float, comment="归属于母公司股东权益合计")
    minority_equity = db.Column(db.Float, comment="少数股东权益")
    total_holders_equity = db.Column(db.Float, comment="股东权益合计")
    total_liab_and_holders_equity = db.Column(db.Float, comment="负债和所有者权益合计")
    fixed_asset = db.Column(db.Float, comment="固定资产")
    fixed_asset_sum = db.Column(db.Float, comment="固定资产合计")
    construction_in_process = db.Column(db.Float, comment="在建工程")
    project_goods_and_material = db.Column(db.Float, comment="工程物资")
    account_receivable = db.Column(db.Float, comment="应收账款")
    bills_receivable = db.Column(db.Float, comment="应收票据")
    pre_payment = db.Column(db.Float, comment="预付款项")
    inventory = db.Column(db.Float, comment="存货")
    accounts_payable = db.Column(db.Float, comment="应付账款")
    bill_payable = db.Column(db.Float, comment="应付票据")
    othr_receivables = db.Column(db.Float, comment="其他应收款")
    pre_receivable = db.Column(db.Float, comment="预收款项")
    goodwill = db.Column(db.Float, comment="商誉")
    st_loan = db.Column(db.Float, comment="短期借款")
    lt_loan = db.Column(db.Float, comment="长期借款")
    bond_payable = db.Column(db.Float, comment="应付债券")
    tradable_fnncl_assets = db.Column(db.Float, comment="交易性金融资产")
    tradable_fnncl_liab = db.Column(db.Float, comment="交易性金融负债")
    noncurrent_liab_due_in1y = db.Column(db.Float, comment="一年到期的非流动负债")
    payroll_payable = db.Column(db.Float, comment="应付职工薪酬")
Пример #9
0
class StockGroup(db.Model):
    __tablename__ = "stock_group"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(20), nullable=False)
    stocks = db.relationship("Stock",
                             secondary='stock_group_log',
                             backref=db.backref("groups", lazy="dynamic"),
                             lazy="dynamic")

    def __repr__(self):
        return self.name


stock_group_log = db.Table(
    "stock_group_log",
    db.Column("id", db.Integer, primary_key=True),
    db.Column("stock_code", db.String(20), db.ForeignKey("stock.code")),
    db.Column("group_id", db.Integer, db.ForeignKey("stock_group.id")),
    UniqueConstraint('stock_code', 'group_id'),
)


class StockIndicators(db.Model):
    __tablename__ = "stock_indicators"
    __table_args__ = (UniqueConstraint("code",
                                       "account_date",
                                       name="uk_code_date"), )

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), index=True, nullable=False)
    account_date = db.Column(db.Date,
Пример #10
0
class CheckListQuality(db.Model):
    __tablename__ = "checklist_quality"

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), unique=True, index=True, nullable=False)
    profitability = db.Column(db.Text, default="-", comment="盈利能力情况")
    growth = db.Column(db.Text, default="-", comment="成长性")
    cashflow = db.Column(db.Text, default="-", comment="现金流状况")
    operation_capability = db.Column(db.Text, default="-", comment="运营能力")
    financial_security = db.Column(db.Text, default="-", comment="财务安全情况")
    financial_stability = db.Column(db.Text, default="-", comment="财务数据稳定性")
    dividend = db.Column(db.Text, default="-", comment="分红情况")
    othr_indicators_comparision = db.Column(db.Text,
                                            default="-",
                                            comment="其他指标对比情况")
    customers = db.Column(db.Text, default="-", comment="客户是谁")
    products = db.Column(db.Text, default="-", comment="提供的产品或服务")
    value_proposition = db.Column(db.Text, default="-", comment="公司的价值主张")
    value_chain = db.Column(db.Text, default="-", comment="价值链")
    profit_model = db.Column(db.Text, default="-", comment="盈利模式")
    business_characteristics = db.Column(db.Text, default="-", comment="生意特性")
    free_cashflow = db.Column(db.Text, default="-", comment="公司自由现金流状况")
    market_spaces = db.Column(db.Text, default="-", comment="公司产品或服务的市场空间")
    growth_momentum = db.Column(db.Text, default="-", comment="公司未来的成长动力")
    potters_five_forces = db.Column(db.Text, default="-", comment="波特五力模型")
    moat = db.Column(db.Text, default="-", comment="护城河")
    moat_level = db.Column(db.Text, default="-", comment="是否有宽阔的护城河及程度")
    management_ethics = db.Column(db.Text,
                                  default="-",
                                  comment="管理层的能力、格局、价值观、魅力等如何")
    major_shareholders = db.Column(db.Text, default="-", comment="主要股东是谁")
    actual_controller = db.Column(db.Text, default="-", comment="实际控制人是谁")
    state_or_private = db.Column(db.Text, default="-", comment="国企还是民企")
    management_shareholding = db.Column(db.Text,
                                        default="-",
                                        comment="管理层或主要骨干是否有持股")
    equity_pledge = db.Column(db.Text, default="-", comment="股权质押情况")
    institutionalize = db.Column(db.Text,
                                 default="-",
                                 comment="公司运作制度化还是高度依赖企业家个人")
    corporate_culture = db.Column(db.Text,
                                  default="-",
                                  comment="公司企业为文化、价值观、管理质量情况")
    interest_orientation = db.Column(db.Text,
                                     default="-",
                                     comment="短期利益导向还是重视创造长期价值")
    attitude = db.Column(db.Text, default="-", comment="公司对员工、股东、客户等利益相关者的态度")
    weakness = db.Column(db.Text, default="-", comment="公司的劣势与弱点")
    negative_news = db.Column(db.Text, default="-", comment="有哪些负面消息与观点")
    potential_risk = db.Column(db.Text, default="-", comment="肯能存在的风险")
    decline_prossibility = db.Column(db.Text,
                                     default="-",
                                     comment="未来有什么原因可能导致公司衰落")
    tenacity = db.Column(db.Text, default="-", comment="如果出现最差的情况,公司能否维持生产和发展")
    past_explainable = db.Column(db.Text, default="-", comment="定性分析能否解释过往业绩")
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)
Пример #11
0
class BasicInfo(db.Model):
    __tablename__ = "basic_info"

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), unique=True, index=True, nullable=False)
    scope = db.Column(db.Text, default="-", comment="公司业务范围")
    structure = db.Column(db.Text, default="-", comment="公司业务结构")
    industry_chain = db.Column(db.Text, default="-", comment="上下游情况")
    sales_model = db.Column(db.Text, default="-", comment="销售模式")
    actual_controller = db.Column(db.String, default="-", comment="实际控制人")
    institutional_ownership = db.Column(db.String,
                                        default="-",
                                        comment="机构持股情况")
    bonus_and_offering = db.Column(db.String,
                                   default="-",
                                   comment="近几年分红与增发情况")
    competitors = db.Column(db.String, default="-", comment="竞争对手")
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)
Пример #12
0
class CheckListEvaluate(db.Model):
    __tablename__ = "checklist_evaluate"

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), unique=True, index=True, nullable=False)
    three_premise = db.Column(
        db.Text,
        default="-",
        comment="估值的三大前提:利润是否为真、利润是否可持续、维持当前盈利是否需要大量资本投入")
    trading_plan_steps = db.Column(db.Text, default="-", comment="交易计划--分几层买入")
    trading_plan_max_ratio = db.Column(db.Text,
                                       default="-",
                                       comment="交易计划--持仓上限")
    # 非周期股部分
    non_cyclical_profit_growth = db.Column(db.Text,
                                           default="-",
                                           comment="预估的利润增速--非周期股")
    non_cyclical_net_profit_after_nrgal_atsolc = db.Column(
        db.Text, default="-", comment="预估的全年扣非净利润--非周期股")
    non_cyclical_net_profit_analysis = db.Column(db.Text,
                                                 default="-",
                                                 comment="对净利润做分析--非周期股")
    non_cyclical_revenue = db.Column(db.Text,
                                     default="-",
                                     comment="估算公司营业收入--非周期股")
    non_cyclical_profit_rate = db.Column(db.Text,
                                         default="-",
                                         comment="估算公司的利润率--非周期股")
    non_cyclical_net_profit_discount = db.Column(
        db.Text, default="-", comment="对净利润现金含量低于100%的企业,对净利润予一定的折扣--非周期股")
    non_cyclical_evaluate = db.Column(db.Text,
                                      default="-",
                                      comment="计算估值--非周期股")
    non_cyclical_buying_point = db.Column(db.Text,
                                          default="-",
                                          comment="买点--非周期股")
    non_cyclical_buying_point_2 = db.Column(db.Text,
                                            default="-",
                                            comment="买点--非周期股")
    non_cyclical_selling_point = db.Column(db.Text,
                                           default="-",
                                           comment="卖点--非周期股")
    # 周期股部分
    cyclical_net_profit = db.Column(db.Text,
                                    default="-",
                                    comment="统计过去10年的净利润,计算年均净利润--周期股")
    cyclical_net_profit_discount = db.Column(
        db.Text, default="-", comment="对净利润现金含量低于1oo%的企业,对净利润予一定的折扣--周期股")
    cyclical_evaluate = db.Column(db.Text, default="-", comment="计算估值--周期股")
    cyclical_buying_point = db.Column(db.Text, default="-", comment="买点--周期股")
    cyclical_selling_point = db.Column(db.Text, default="-", comment="卖点--周期股")
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)
Пример #13
0
class CheckListRisk(db.Model):
    __tablename__ = "checklist_risk"

    id = db.Column(db.Integer, primary_key=True)
    code = db.Column(db.String(10), unique=True, index=True, nullable=False)
    revenue_growth = db.Column(db.Text, default="-", comment="企业营业收入增长的原因")
    operations = db.Column(db.Text, default="-", comment="行业、产地或地区经营情况分析")
    fee = db.Column(db.Text, default="-", comment="看公司费用率或费用绝对数有没有变化")
    investment = db.Column(db.Text, default="-", comment="投资状况分析")
    project_changes = db.Column(db.Text, default="-", comment="募集项目变更情况")
    differences_with_actual_funds_use = db.Column(db.Text,
                                                  default="-",
                                                  comment="关注计划投资金额与实际投资金额的差异")
    develope_views_compare_to_past = db.Column(db.Text,
                                               default="-",
                                               comment="董事会历年关于公司的未来发展的描述有何不同")
    develope_views_compare_to_competitors = db.Column(
        db.Text, default="-", comment="与同行其他竞争者的行业未来发展看法有何不同")
    develope_views_summary = db.Column(db.Text,
                                       default="-",
                                       comment="总结分析公司的未来发展")
    create_time = db.Column(db.DateTime, default=datetime.now)
    update_time = db.Column(db.DateTime,
                            default=datetime.now,
                            onupdate=datetime.now)