Ejemplo n.º 1
0
def _main():
    basics = ts.get_stock_basics()

    frame = DataFrame()
    frame['name'] = basics['name']
    frame[COL_P_CHANGE_01] = np.nan
    frame[COL_P_CHANGE_12] = np.nan
    frame[COL_PASTAVERAGETURNOVER] = np.nan
    frame[COL_NORMALIZING_STD] = np.nan
    frame[COL_NEXTDAYTOMA5] = np.nan
    frame[COL_CLOSETOMA5MARK] = ''
    frame[COL_STOPMARK] = ''

    for i, code in enumerate(basics.index):
        hist_data = ts.get_hist_data(code)
        try:
            frame.loc[code, COL_P_CHANGE_01] = api.hist_p_change(hist_data,
                                                                 begin=DAY_0,
                                                                 end=DAY_1)
            frame.loc[code, COL_P_CHANGE_12] = api.hist_p_change(hist_data,
                                                                 begin=DAY_1,
                                                                 end=DAY_2)
            frame.loc[code,
                      COL_PASTAVERAGETURNOVER] = api.past_average_turnover(
                          hist_data, PAST_AVERAGE_TURNOVER_PERIOD)
            frame.loc[code, COL_NORMALIZING_STD] = api.normalizing_std_close(
                hist_data, begin=DAY_0, end=DAY_1)
            frame.loc[code, COL_NEXTDAYTOMA5] = api.next_close_to_ma(hist_data,
                                                                     n=5)
            if close_to_target(hist_data['close'][0],
                               frame.loc[code, COL_NEXTDAYTOMA5]):
                frame.loc[code, COL_CLOSETOMA5MARK] = '★'
            if hist_data.index[0] != LAST_MARKET_DATE:
                frame.loc[code, COL_STOPMARK] = 'stop'
        except Exception:
            print('excetion in {}'.format(i))
            continue

        print('#####', i, '#####')

    filtered_frame = frame[(frame[COL_P_CHANGE_01] > 0)
                           & (frame[COL_P_CHANGE_12] < 0)
                           # & (frame[COL_NORMALIZING_STD] < 0.03)
                           & (frame[COL_STOPMARK] != 'stop')]

    sorted_frame = filtered_frame.sort_values(by=COL_P_CHANGE_12)
    print(sorted_frame)

    file_name = '../logs/{date}@tnt.csv'.format(date=LAST_MARKET_DATE)
    # print(fileName)
    with open(file_name, 'w', encoding='utf8') as file:
        sorted_frame.to_csv(file)
Ejemplo n.º 2
0
def _main():
    basics = ts.get_stock_basics()

    frame = DataFrame()
    frame['name'] = basics['name']
    frame[COL_P_CHANGE_RANGE0] = np.nan
    frame[COL_AVERAGE_TURNOVER] = np.nan
    frame[COL_STOPMARK] = ''

    for i, code in enumerate(basics.index):
        hist_data = ts.get_hist_data(code)
        try:
            frame.loc[code, COL_P_CHANGE_RANGE0] = api.hist_p_change(
                hist_data, begin=DAY_RANGE0[0], end=DAY_RANGE0[1])
            frame.loc[code, COL_AVERAGE_TURNOVER] = api.hist_average_turnover(
                hist_data, begin=TURNOVER_RANGE[0], end=TURNOVER_RANGE[1])
            if hist_data.index[0] != LAST_MARKET_DATE:
                frame.loc[code, COL_STOPMARK] = 'stop'
        except Exception:
            print('excetion in {}'.format(i))
            continue

        print('#####', i, '#####')

    filtered_frame = frame[(frame[COL_STOPMARK] != 'stop')]

    sorted_frame = filtered_frame.sort_values(by=COL_AVERAGE_TURNOVER,
                                              ascending=False)
    print(sorted_frame)

    file_name = '../logs/{date}@vaporization.csv'.format(date=LAST_MARKET_DATE)
    # print(fileName)
    with open(file_name, 'w', encoding='utf8') as file:
        sorted_frame.to_csv(file)
Ejemplo n.º 3
0
def _main():
    basics = ts.get_stock_basics()

    frame = DataFrame()
    frame['name'] = basics['name']
    frame[COL_OUTSTANDING] = basics[COL_OUTSTANDING]
    frame[COL_MARKET_VALUE] = np.nan
    frame[COL_P_CHANGE_RANGE0] = np.nan
    frame[COL_P_CHANGE_RANGE1] = np.nan
    frame[COL_NORMALIZING_STD1] = np.nan
    frame[COL_STOPMARK] = ''

    for i, code in enumerate(basics.index):
        if code.startswith('300'):
            continue

        hist_data = ts.get_hist_data(code)
        try:
            frame.loc[code, COL_MARKET_VALUE] = round(frame.loc[code, COL_OUTSTANDING] * hist_data['close'][0], 1)
            frame.loc[code, COL_P_CHANGE_RANGE0] = api.hist_p_change(hist_data, begin=DAY_RANGE0[0], end=DAY_RANGE0[1])
            frame.loc[code, COL_P_CHANGE_RANGE1] = api.hist_p_change(hist_data, begin=DAY_RANGE1[0], end=DAY_RANGE1[1])
            frame.loc[code, COL_NORMALIZING_STD1] = api.normalizing_std_close(hist_data, begin=DAY_RANGE1[0], end=DAY_RANGE1[1])

            if hist_data.index[0] != LAST_MARKET_DATE:
                frame.loc[code, COL_STOPMARK] = 'stop'
        except Exception:
            print('excetion in {}'.format(i))
            continue

        print('#####', i, '#####')

    # observe
    filtered_frame = frame[
                           # (frame[COL_P_CHANGE_RANGE0] < 0)
                           # & (frame[COL_P_CHANGE_RANGE1] > 0)
                           # & (frame[COL_NORMALIZING_STD] < 0.03)
                            (frame[COL_MARKET_VALUE] < 100)
                           & (frame[COL_STOPMARK] != 'stop')
                            ]

    sorted_frame = filtered_frame.sort_values(by=COL_P_CHANGE_RANGE1, ascending=False)
    print(sorted_frame)

    file_name = '../logs/{date}@observer.csv'.format(date=LAST_MARKET_DATE)
    # print(fileName)
    with open(file_name, 'w', encoding='utf8') as file:
        sorted_frame.to_csv(file)
Ejemplo n.º 4
0
def _main():
    basics = ts.get_stock_basics()

    frame = DataFrame()
    frame['name'] = basics['name']
    frame['outstanding'] = basics['outstanding']
    frame[COL_P_CHANGE_RANGE] = np.nan
    frame[COL_STOPMARK] = ''

    for i, code in enumerate(basics.index):
        if code.startswith('300'):
            continue

        hist_data = ts.get_hist_data(code)
        try:
            frame.loc[code, COL_P_CHANGE_RANGE] = api.hist_p_change(
                hist_data, begin=DAY_RANGE[0], end=DAY_RANGE[1])

            if hist_data.index[0] != LAST_MARKET_DATE:
                frame.loc[code, COL_STOPMARK] = 'stop'
        except Exception:
            print('excetion in {}'.format(i))
            continue

        print('#####', i, '#####')

    # observe
    filtered_frame = frame[(frame[COL_P_CHANGE_RANGE] > 9.8)
                           & (frame[COL_STOPMARK] != 'stop')]

    sorted_frame = filtered_frame.sort_values(by=COL_P_CHANGE_RANGE,
                                              ascending=False)
    print(sorted_frame)

    file_name = '../logs/{date}@ladder.csv'.format(date=LAST_MARKET_DATE)
    # print(fileName)
    with open(file_name, 'w', encoding='utf8') as file:
        sorted_frame.to_csv(file)
Ejemplo n.º 5
0
def _main():
    basics = ts.get_stock_basics()

    frames = list()

    for i in range(0, N):
        frame = DataFrame()
        frame['name'] = basics['name']
        frame['outstanding'] = basics['outstanding']
        frame[COL_P_CHANGE_RANGE] = np.nan
        frame[COL_NORMALIZING_STD] = np.nan
        frame[COL_P_CHANGE_TILL_NOW] = np.nan
        frame[COL_NORMALIZING_STD_TILL_NOW] = np.nan
        frame[COL_STOPMARK] = ''
        frames.append(frame)

    for i, code in enumerate(basics.index):
        if code.startswith('300'):
            continue

        hist_data = ts.get_hist_data(code)
        try:
            for j in range(0, N):
                frame = frames[j]
                frame.loc[code, COL_P_CHANGE_RANGE] = api.hist_p_change(
                    hist_data,
                    begin=PERIOD * j + DELTA_RANGE[0],
                    end=PERIOD * j + DELTA_RANGE[1])
                frame.loc[code,
                          COL_NORMALIZING_STD] = api.normalizing_std_close(
                              hist_data,
                              begin=PERIOD * j + DELTA_RANGE[0],
                              end=PERIOD * j + DELTA_RANGE[1])
                frame.loc[code, COL_P_CHANGE_TILL_NOW] = api.hist_p_change(
                    hist_data, begin=0, end=PERIOD * j + DELTA_RANGE[0])
                frame.loc[
                    code,
                    COL_NORMALIZING_STD_TILL_NOW] = api.normalizing_std_close(
                        hist_data, begin=0, end=PERIOD * j + DELTA_RANGE[0])

                if hist_data.index[0] != LAST_MARKET_DATE:
                    frame.loc[code, COL_STOPMARK] = 'stop'

        except Exception:
            print('excetion in {}'.format(i))
            continue

        print('#####', i, '#####')

    for i in range(0, N):
        frame = frames[i]

        # observe
        filtered_frame = frame[(frame[COL_P_CHANGE_RANGE] < -15)
                               & (frame['outstanding'] < 10)
                               & (frame[COL_STOPMARK] != 'stop')]

        sorted_frame = filtered_frame.sort_values(by=COL_P_CHANGE_RANGE)
        print(sorted_frame)

        file_name = '../logs/{date}@segment_period_{i}.csv'.format(
            date=LAST_MARKET_DATE, i=i)
        # print(fileName)
        with open(file_name, 'w', encoding='utf8') as file:
            sorted_frame.to_csv(file)
Ejemplo n.º 6
0
def _main():
    basics = ts.get_stock_basics()

    frame = DataFrame()
    frame['name'] = basics['name']
    frame['outstanding'] = basics['outstanding']
    frame[COL_P_CHANGE_RANGE0] = np.nan
    frame[COL_P_CHANGE_RANGE1] = np.nan
    frame[COL_NORMALIZING_STD1] = np.nan
    frame[COL_STOPMARK] = ''

    frame_bud = DataFrame()
    frame_bud['name'] = basics['name']
    frame_bud['outstanding'] = basics['outstanding']
    frame_bud[COL_P_CHANGE_RANGE2] = np.nan
    frame_bud[COL_NORMALIZING_STD2] = np.nan
    frame_bud[COL_STOPMARK] = ''

    for i, code in enumerate(basics.index):
        if code.startswith('300'):
            continue

        hist_data = ts.get_hist_data(code)
        try:
            frame.loc[code, COL_P_CHANGE_RANGE0] = api.hist_p_change(
                hist_data, begin=DAY_RANGE0[0], end=DAY_RANGE0[1])
            frame.loc[code, COL_P_CHANGE_RANGE1] = api.hist_p_change(
                hist_data, begin=DAY_RANGE1[0], end=DAY_RANGE1[1])
            frame.loc[code, COL_NORMALIZING_STD1] = api.normalizing_std_close(
                hist_data, begin=DAY_RANGE1[0], end=DAY_RANGE1[1])

            frame_bud.loc[code, COL_P_CHANGE_RANGE2] = api.hist_p_change(
                hist_data, begin=DAY_RANGE2[0], end=DAY_RANGE2[1])
            frame_bud.loc[code,
                          COL_NORMALIZING_STD2] = api.normalizing_std_close(
                              hist_data,
                              begin=DAY_RANGE2[0],
                              end=DAY_RANGE2[1])

            if hist_data.index[0] != LAST_MARKET_DATE:
                frame.loc[code, COL_STOPMARK] = 'stop'
                frame_bud.loc[code, COL_STOPMARK] = 'stop'
        except Exception:
            print('excetion in {}'.format(i))
            continue

        print('#####', i, '#####')

    # observe
    filtered_frame = frame[
        # (frame[COL_P_CHANGE_RANGE0] < 0)
        # & (frame[COL_P_CHANGE_RANGE1] > 0)
        # & (frame[COL_NORMALIZING_STD] < 0.03)
        (frame[COL_STOPMARK] != 'stop')]

    sorted_frame = filtered_frame.sort_values(by=COL_P_CHANGE_RANGE1,
                                              ascending=False)
    print(sorted_frame)

    file_name = '../logs/{date}@reborn_observe.csv'.format(
        date=LAST_MARKET_DATE)
    # print(fileName)
    with open(file_name, 'w', encoding='utf8') as file:
        sorted_frame.to_csv(file)

    # classified
    filtered_frame = frame[  #(frame[COL_P_CHANGE_RANGE0] > 0)
        (frame[COL_P_CHANGE_RANGE1] < -10)
        # & (frame[COL_P_CHANGE_RANGE1] > -25)
        # & (frame[COL_NORMALIZING_STD] < 0.15)
        & (frame['outstanding'] < 10)
        & (frame[COL_STOPMARK] != 'stop')]

    sorted_frame = filtered_frame.sort_values(by=COL_P_CHANGE_RANGE1)
    print(sorted_frame)

    file_name = '../logs/{date}@reborn_classified.csv'.format(
        date=LAST_MARKET_DATE)
    # print(fileName)
    with open(file_name, 'w', encoding='utf8') as file:
        sorted_frame.to_csv(file)

    # bud
    filtered_frame = frame_bud[  #(frame[COL_P_CHANGE_RANGE0] > 0)
        (frame_bud[COL_P_CHANGE_RANGE2] < -15)
        # & (frame[COL_P_CHANGE_RANGE1] > -25)
        & (frame_bud[COL_NORMALIZING_STD2] < 0.15)
        & (frame_bud['outstanding'] < 10)
        & (frame_bud[COL_STOPMARK] != 'stop')]

    sorted_frame = filtered_frame.sort_values(by=COL_P_CHANGE_RANGE2)
    print(sorted_frame)

    file_name = '../logs/{date}@reborn_bud.csv'.format(date=LAST_MARKET_DATE)
    # print(fileName)
    with open(file_name, 'w', encoding='utf8') as file:
        sorted_frame.to_csv(file)