def CashFlow(): connStr = Public.GetPara('connStr') conn = co.connect(connStr) mongoConn = Public.GetPara('mongoConn') mc = pm.MongoClient(mongoConn) db = mc['factor'] # factor configDictList = [{'facName': 'FIN_OCF_Q', 'column': 5, 'qfData': 2}, # 季度经营活动现金流 {'facName': 'FIN_OCF_QG', 'column': 5, 'qfData': 5}, # 季度经营活动现金流增长率 {'facName': 'FIN_OCF_12M', 'column': 5, 'qfData': 3}, # 12个月经营活动现金流 {'facName': 'FIN_OCE_12MG', 'column': 5, 'qfData': 6}, # 12个月经营活动现金流增长率 {'facName': 'FIN_ICF_Q', 'column': 8, 'qfData': 2}, # 季度投资活动现金流 {'facName': 'FIN_ICF_QG', 'column': 8, 'qfData': 5}, # 季度投资活动现金流增长率 {'facName': 'FIN_ICF_12M', 'column': 8, 'qfData': 3}, # 12个月投资活动现金流 {'facName': 'FIN_ICE_12MG', 'column': 8, 'qfData': 6}, # 12个月投资活动现金流增长率 {'facName': 'FIN_FCF_Q', 'column': 11, 'qfData': 2}, # 季度筹资活动现金流 {'facName': 'FIN_FCF_QG', 'column': 11, 'qfData': 5}, # 季度筹资活动现金流增长率 {'facName': 'FIN_FCF_12M', 'column': 11, 'qfData': 3}, # 12个月筹资活动现金流 {'facName': 'FIN_FCE_12MG', 'column': 11, 'qfData': 6}, # 12个月筹资活动现金流增长率 ] for configDict in configDictList: facName = configDict['facName'] print('==== ' + facName) lastUpdateDate = Public.GetLastUpdateDate(facName, mc) dataList = Public.GetDataList(Public.sqlCash, lastUpdateDate - dt.timedelta(days=365 * 3), dt.datetime.now(), conn) qfDataTuple = Public.QuarterFormat(dataList) column = configDict['column'] dataDict = qfDataTuple[configDict['qfData']] facDict = {} for symbol, data in dataDict.items(): facDict[symbol] = data[:, [0, 1, 2, column]] Public.ToDB(facDict, facName, endDate=None, updateReportDate=False, mongoClient=mc) ddd = 0
def Balance(): connStr = Public.GetPara('connStr') conn = co.connect(connStr) mongoConn = Public.GetPara('mongoConn') mc = pm.MongoClient(mongoConn) db = mc['factor'] # factor configDictList = [ { 'facName': 'FIN_MC', 'column': 3, 'qfData': 1 }, # 货币资金 { 'facName': 'FIN_LA', 'column': 4, 'qfData': 1 }, # 流动资产 { 'facName': 'FIN_FA', 'column': 5, 'qfData': 1 }, # 固定资产 { 'facName': 'FIN_IA', 'column': 6, 'qfData': 1 }, # 无形资产 { 'facName': 'FIN_TNLA', 'column': 7, 'qfData': 1 }, # 非流动资产合计 { 'facName': 'FIN_TA', 'column': 8, 'qfData': 1 }, # 资产总计 { 'facName': 'FIN_STB', 'column': 9, 'qfData': 1 }, # 短期借款 { 'facName': 'FIN_NLL1Y', 'column': 10, 'qfData': 1 }, # 一年内到期的非流动负债 { 'facName': 'FIN_TLL', 'column': 11, 'qfData': 1 }, # 流动负债合计 { 'facName': 'FIN_LTB', 'column': 12, 'qfData': 1 }, # 长期借款 { 'facName': 'FIN_TNLL', 'column': 13, 'qfData': 1 }, # 非流动负债合计 { 'facName': 'FIN_TL', 'column': 14, 'qfData': 1 }, # 负债合计 { 'facName': 'FIN_PUC', 'column': 15, 'qfData': 1 }, # 实收资本(或股本) { 'facName': 'FIN_UDP', 'column': 16, 'qfData': 1 }, # 未分配利润 { 'facName': 'FIN_TOEAPC', 'column': 17, 'qfData': 1 }, # 归母权益合计 { 'facName': 'FIN_MSE', 'column': 18, 'qfData': 1 }, # 少数股东权益 { 'facName': 'FIN_TOE', 'column': 19, 'qfData': 1 }, # 所有者权益合计 { 'facName': 'FIN_TLOE', 'column': 20, 'qfData': 1 }, # 负债和所有者权益合计 { 'facName': 'FIN_IVT', 'column': 21, 'qfData': 1 }, # 存货 { 'facName': 'FIN_TA_G', 'column': 8, 'qfData': 4 }, # 总资产增长率 { 'facName': 'FIN_TL_G', 'column': 14, 'qfData': 4 }, # 总负债增长率 { 'facName': 'FIN_TOEAPC_G', 'column': 17, 'qfData': 4 }, # 归母权益增长率 { 'facName': 'FIN_TOE_G', 'column': 19, 'qfData': 4 }, # 所有者权益增长率 { 'facName': 'FIN_TA_QA', 'column': 8, 'qfData': 7 }, # 季度总资产平均值 { 'facName': 'FIN_TOEAPC_QA', 'column': 17, 'qfData': 7 }, # 季度归母权益平均值 { 'facName': 'FIN_TOE_QA', 'column': 19, 'qfData': 7 }, # 季度所有者权益平均值 { 'facName': 'FIN_IVT_QA', 'column': 21, 'qfData': 7 }, # 季度存货平均值 { 'facName': 'FIN_TA_12MA', 'column': 8, 'qfData': 8 }, # 12个月总资产平均值 { 'facName': 'FIN_TOEAPC_12MA', 'column': 17, 'qfData': 8 }, # 12个月归母权益平均值 { 'facName': 'FIN_TOE_12MA', 'column': 19, 'qfData': 8 }, # 12个月所有者权益平均值 { 'facName': 'FIN_IVT_12MA', 'column': 21, 'qfData': 8 } # 12个月存货平均值 ] for configDict in configDictList: facName = configDict['facName'] print('==== ' + facName) lastUpdateDate = Public.GetLastUpdateDate(facName, mc) dataList = Public.GetDataList( Public.sqlBlc, lastUpdateDate - dt.timedelta(days=365 * 3), dt.datetime.now(), conn) qfDataTuple = Public.QuarterFormat(dataList) column = configDict['column'] dataDict = qfDataTuple[configDict['qfData']] facDict = {} for symbol, data in dataDict.items(): facDict[symbol] = data[:, [0, 1, 2, column]] updateReportDate = True if facName == 'FIN_TA' else False Public.ToDB(facDict, facName, endDate=None, updateReportDate=updateReportDate, mongoClient=mc) ddd = 0
def Profit(): connStr = Public.GetPara('connStr') conn = co.connect(connStr) mongoConn = Public.GetPara('mongoConn') mc = pm.MongoClient(mongoConn) db = mc['factor'] # factor configDictList = [ { 'facName': 'FIN_NP_Q', 'column': 12, 'qfData': 2 }, # 季度净利润 { 'facName': 'FIN_NP_QG', 'column': 12, 'qfData': 5 }, # 季度净利润增长率 { 'facName': 'FIN_NP_12M', 'column': 12, 'qfData': 3 }, # 12个月净利润 { 'facName': 'FIN_NP_12MG', 'column': 12, 'qfData': 6 }, # 12个月净利润增长率 { 'facName': 'FIN_NPAPC_Q', 'column': 13, 'qfData': 2 }, # 季度归母净利润 { 'facName': 'FIN_NPAPC_QG', 'column': 13, 'qfData': 5 }, # 季度归母净利润增长率 { 'facName': 'FIN_NPAPC_12M', 'column': 13, 'qfData': 3 }, # 12个月归母净利润 { 'facName': 'FIN_NPAPC_12MG', 'column': 13, 'qfData': 6 }, # 12个月归母净利润增长率 { 'facName': 'FIN_OTR_Q', 'column': 3, 'qfData': 2 }, # 季度营业总收入 { 'facName': 'FIN_OTR_QG', 'column': 3, 'qfData': 5 }, # 季度营业总收入增长率 { 'facName': 'FIN_OTR_12M', 'column': 3, 'qfData': 3 }, # 12个月营业总收入 { 'facName': 'FIN_OTR_12MG', 'column': 3, 'qfData': 6 }, # 12个月营业总收入增长率 { 'facName': 'FIN_OR_Q', 'column': 4, 'qfData': 2 }, # 季度营业收入 { 'facName': 'FIN_OR_QG', 'column': 4, 'qfData': 5 }, # 季度营业收入增长率 { 'facName': 'FIN_OR_12M', 'column': 4, 'qfData': 3 }, # 12个月营业收入 { 'facName': 'FIN_OR_12MG', 'column': 4, 'qfData': 6 }, # 12个月营业收入增长率 { 'facName': 'FIN_OP_Q', 'column': 9, 'qfData': 2 }, # 季度营业利润 { 'facName': 'FIN_OP_QG', 'column': 9, 'qfData': 5 }, # 季度营业利润增长率 { 'facName': 'FIN_OP_12M', 'column': 9, 'qfData': 3 }, # 12个月营业利润 { 'facName': 'FIN_OP_12MG', 'column': 9, 'qfData': 6 }, # 12个月营业利润增长率 { 'facName': 'FIN_TP_Q', 'column': 10, 'qfData': 2 }, # 季度利润总额 { 'facName': 'FIN_TP_QG', 'column': 10, 'qfData': 5 }, # 季度利润总额增长率 { 'facName': 'FIN_TP_12M', 'column': 10, 'qfData': 3 }, # 12个月利润总额 { 'facName': 'FIN_TP_12MG', 'column': 10, 'qfData': 6 }, # 12个月利润总额增长率 { 'facName': 'FIN_OTC_Q', 'column': 6, 'qfData': 2 }, # 季度营业总成本 { 'facName': 'FIN_OTC_12M', 'column': 6, 'qfData': 3 }, # 12个月营业总成本 { 'facName': 'FIN_OC_Q', 'column': 7, 'qfData': 2 }, # 季度营业成本 { 'facName': 'FIN_OC_12M', 'column': 7, 'qfData': 3 }, # 12个月营业成本 { 'facName': 'FIN_ITE_Q', 'column': 11, 'qfData': 2 }, # 季度所得税费用 { 'facName': 'FIN_ITE_12M', 'column': 11, 'qfData': 3 } # 12个月所得税费用 ] for configDict in configDictList: facName = configDict['facName'] print('==== ' + facName) lastUpdateDate = Public.GetLastUpdateDate(facName, mc) dataList = Public.GetDataList( Public.sqlPrf, lastUpdateDate - dt.timedelta(days=365 * 3), dt.datetime.now(), conn) qfDataTuple = Public.QuarterFormat(dataList) column = configDict['column'] dataDict = qfDataTuple[configDict['qfData']] facDict = {} for symbol, data in dataDict.items(): facDict[symbol] = data[:, [0, 1, 2, column]] Public.ToDB(facDict, facName, endDate=None, updateReportDate=False, mongoClient=mc) ddd = 0