Esempio n. 1
0
#!/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')
Esempio n. 2
0
#!/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/总市值')
Esempio n. 3
0
#!/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')
Esempio n. 4
0
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(营业收入)')
Esempio n. 5
0
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/(总市值+非流动性负债合计-现金)')
Esempio n. 6
0
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')
Esempio n. 7
0
    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'], '单季度营业收入同比增长率')
Esempio n. 8
0
#!/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 / 总资产')
Esempio n. 9
0
#!/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'], '流动比率 = 流动资产 / 流动负债')
Esempio n. 10
0
#!/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')
Esempio n. 11
0
    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'],
                     '单季度归属股东净利润同比增长率')
Esempio n. 12
0
#!/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/总市值')
Esempio n. 13
0
#!/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(营业收入)')