#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-06-07 15:06 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory dd = DataDescription( divide_data_factory( pitcache_getter('NI_TTM', 10).get_tsdata, pitcache_getter('TOTAL_SHARES', 10).get_tsdata), trans_date('2018-06-07'), DataType.PANEL_NUMERIC, ['NI_TTM', 'TOTAL_SHARES'], 'Earnings per share TTM')
#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-05-25 16:27 """ from sys import path as sys_path from os.path import dirname from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory dd = DataDescription( divide_data_factory( pitcache_getter('EQUITY', 10).get_tsdata, pitcache_getter('TOTAL_CMKV', 10).get_tsdata), trans_date('2018-05-25'), DataType.PANEL_NUMERIC, ['EQUITY', 'TOTAL_CMKV', 'LIST_STATE'], '归属母公司的权益TTM/总市值')
#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-08-07 16:44 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory dd = DataDescription( divide_data_factory( pitcache_getter('OPNCF_TTM', 10).get_tsdata, pitcache_getter('OPP_TTM', 10).get_tsdata), trans_date('2018-08-07'), DataType.PANEL_NUMERIC, ['OPNCF_TTM', 'OPP_TTM'], '经营活动中的现金流量净额TTM/营业利润TTM')
Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-07-30 16:51 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory, abs_wrapper def numerator(start_time, end_time): # 营业利润=营业收入-营业成本-销售费用-管理费用-财务费用 opr_ttm = pitcache_getter('OPR_TTM', 10).get_tsdata(start_time, end_time) opcost_ttm = pitcache_getter('OPCOST_TTM', 10).get_tsdata(start_time, end_time) opexp_ttm = pitcache_getter('OPEXP_TTM', 10).get_tsdata(start_time, end_time) adminexp_ttm = pitcache_getter('ADMINEXP_TTM', 10).get_tsdata(start_time, end_time) fiexp_ttm = pitcache_getter('FIEXP_TTM', 10).get_tsdata(start_time, end_time) return opr_ttm - opcost_ttm - opexp_ttm - adminexp_ttm - fiexp_ttm dd = DataDescription(divide_data_factory(numerator, abs_wrapper(pitcache_getter('OPR_TTM', 10).get_tsdata)), trans_date('2018-07-30'), DataType.PANEL_NUMERIC, ['OPR_TTM', 'OPCOST_TTM', 'OPEXP_TTM', 'ADMINEXP_TTM', 'FIEXP_TTM'], '总营业利润率 = (营业收入-营业成本-销售费用-管理费用-财务费用) / abs(营业收入)')
Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-05-25 16:49 """ from sys import path as sys_path from os.path import dirname from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory def get_ev(start_time, end_time): mkv_data = pitcache_getter('TOTAL_CMKV', 10).get_tsdata(start_time, end_time) ncl_data = pitcache_getter('TNCL', 10).get_tsdata(start_time, end_time).fillna(0) cash_data = pitcache_getter('CASH', 10).get_tsdata(start_time, end_time).fillna(0) return mkv_data + ncl_data - cash_data dd = DataDescription( divide_data_factory(pitcache_getter('OPR_TTM', 10).get_tsdata, get_ev), trans_date('2018-05-25'), DataType.PANEL_NUMERIC, ['CASH', 'TNCL', 'OPR_TTM', 'TOTAL_CMKV', 'LIST_STATE'], '营业收入TTM/(总市值+非流动性负债合计-现金)')
Github: https://github.com/SAmmer0 Created: 2018-07-27 17:08 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory def equity_dropped_negetive(start_time, end_time): ''' 将归属母公司权益为负的公司权益设置为NA ''' data = pitcache_getter('EQUITY5S', 10).get_tsdata(start_time, end_time) data = data.where(data > 0, np.nan) return data dd = DataDescription( divide_data_factory( pitcache_getter('NI_TTM', 10).get_tsdata, equity_dropped_negetive), trans_date('2018-07-27'), DataType.PANEL_NUMERIC, ['NI_TTM', 'EQUITY5S'], 'ROE TTM等于NI_TTM/EQUITY5S')
Return ------ out: pandas.DataFrame """ opr1s = pitcache_getter('OPR1S', 10).get_tsdata(start_time, end_time) opr5s = pitcache_getter('OPR5S', 10).get_tsdata(start_time, end_time) return opr1s - opr5s def numerator(start_time, end_time): """ 用于计算分子数据,分子 = abs(OPR5S) Parameter --------- start_time: datetime like 开始时间 end_time: datetime like 结束时间 Return ------ out: pandas.DataFrame """ opr5s = pitcache_getter('OPR5S', 10).get_tsdata(start_time, end_time) return np.abs(opr5s) dd = DataDescription(divide_data_factory(denominator, numerator), trans_date('2018-06-04'), DataType.PANEL_NUMERIC, ['OPR1S', 'OPR5S', 'LIST_STATE'], '单季度营业收入同比增长率')
#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-08-07 16:27 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory dd = DataDescription(divide_data_factory(pitcache_getter('OPR_TTM', 10).get_tsdata, pitcache_getter('TA', 10).get_tsdata), trans_date('2018-08-07'), DataType.PANEL_NUMERIC, ['OPR_TTM', 'TA'], '资产周转率TTM = 总营业收入TTM / 总资产')
#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-08-07 16:32 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory dd = DataDescription( divide_data_factory( pitcache_getter('TCA', 10).get_tsdata, pitcache_getter('TCL', 10).get_tsdata), trans_date('2018-08-07'), DataType.PANEL_NUMERIC, ['TCA', 'TCL'], '流动比率 = 流动资产 / 流动负债')
#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-06-07 15:12 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory dd = DataDescription(divide_data_factory(pitcache_getter('OPR_TTM', 10).get_tsdata, pitcache_getter('TOTAL_SHARES', 10).get_tsdata), trans_date('2018-06-07'), DataType.PANEL_NUMERIC, ['OPR_TTM', 'TOTAL_SHARES'], 'Sale per share TTM')
end_time: datetime like 结束时间 Return ------ out: pandas.DataFrame """ ni1s = pitcache_getter('NI1S', 10).get_tsdata(start_time, end_time) ni5s = pitcache_getter('NI5S', 10).get_tsdata(start_time, end_time) return ni1s - ni5s def numerator(start_time, end_time): """ 用于计算分子数据,分子 = abs(NI5S) Parameter --------- start_time: datetime like 开始时间 end_time: datetime like 结束时间 Return ------ out: pandas.DataFrame """ ni5s = pitcache_getter('NI5S', 10).get_tsdata(start_time, end_time) return np.abs(ni5s) dd = DataDescription(divide_data_factory(denominator, numerator), trans_date('2018-06-07'), DataType.PANEL_NUMERIC, ['NI1S', 'NI5S', 'LIST_STATE'], '单季度归属股东净利润同比增长率')
#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-05-25 16:33 """ from sys import path as sys_path from os.path import dirname from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory dd = DataDescription( divide_data_factory( pitcache_getter('OPR_TTM', 10).get_tsdata, pitcache_getter('TOTAL_CMKV', 10).get_tsdata), trans_date('2018-05-25'), DataType.PANEL_NUMERIC, ['OPR_TTM', 'TOTAL_CMKV', 'LIST_STATE'], '营业收入TTM/总市值')
#!/usr/bin/env python # -*- coding:utf-8 """ Author: Hao Li Email: [email protected] Github: https://github.com/SAmmer0 Created: 2018-07-30 16:17 """ from sys import path as sys_path from os.path import dirname import numpy as np from tdtools import trans_date from pitdata.const import CALCULATION_FOLDER_PATH, DataType from pitdata import DataDescription, pitcache_getter if CALCULATION_FOLDER_PATH not in sys_path: sys_path.append(dirname(CALCULATION_FOLDER_PATH)) from derivate_template import divide_data_factory, abs_wrapper dd = DataDescription( divide_data_factory( pitcache_getter('OPP_TTM', 10).get_tsdata, abs_wrapper(pitcache_getter('OPR_TTM', 10).get_tsdata)), trans_date('2018-07-30'), DataType.PANEL_NUMERIC, ['OPR_TTM', 'OPP_TTM'], '总营业利润率 = 总营业利润 / abs(营业收入)')