コード例 #1
0
ファイル: market_api_test.py プロジェクト: w0v5eu8/pykrx
 def test_io_with_specific_business_date_and_market(self):
     tickers = stock.get_market_ticker_list("20190225")
     self.assertEqual(len(tickers), 788)
     tickers = stock.get_market_ticker_list("20190225", "KOSDAQ")
     self.assertEqual(len(tickers), 1325)
     tickers = stock.get_market_ticker_list("20190225", "ALL")
     self.assertEqual(len(tickers), 2266)
コード例 #2
0
def test():
    # tickers: 시세
    tickers = stock.get_market_ticker_list(market="KOSPI")
    tickers += stock.get_market_ticker_list(market="KOSDAQ")
    tickers += stock.get_market_ticker_list(market="KONEX")

    return tickers
コード例 #3
0
 def get_whole_market_item_list_from_pykrx(self):
     markets = self.market_collector.get_markets()
     today = datetime.today().strftime("%Y%m%d")
     for market in markets:
         market_name = market['stock_market_name']
         tickers = stock.get_market_ticker_list(today, market=market_name)
         yield {market_name: tickers}
コード例 #4
0
def pykrx_scratch(date_Start, date_End):
    print("Reading Daily Chart ... {} - {}".format(date_Start, date_End))
    # create main folder
    if not os.path.exists(Krx_Char_folder_path):
        os.mkdir(Krx_Char_folder_path)
    # ticker scratch
    for ticker in stock.get_market_ticker_list(market="ALL"):
        stock_name = stock.get_market_ticker_name(ticker)
        stock_folder_name = stock_name + '_' + ticker
        #print(stock_name, ticker)
        df = stock.get_market_ohlcv_by_date(date_Start, date_End, ticker)
        df = df.reset_index()
        #print(len(df))
        df.insert(5, '종가2', df['종가'])
        # folder check
        if not os.path.exists(Krx_Char_folder_path + '/' + stock_name):
            os.mkdir(Krx_Char_folder_path + '/' + stock_name)
        df.to_csv(Krx_Char_folder_path + '/' + stock_name + '/' + ticker +
                  '.csv',
                  sep=',',
                  na_rep='0',
                  index=False,
                  header=False)
        print('{} Daily chart is written! ==== ticker is : {}'.format(
            stock_name, ticker))
    print('Scratching daily chart is done!')
コード例 #5
0
 def __init__(self, useCorpCodeXml=True):
     self.useCorpCodeXml = useCorpCodeXml
     if useCorpCodeXml == True:
         tree = parse("interface/CORPCODE.xml")
         root = tree.getroot()
         self.corpList = root.findall("list")
     else:
         self.tickerList = stock.get_market_ticker_list()
コード例 #6
0
def update_valid_stocklist(date):
    '''
    date 기준으로 상장된 종목 리스트를 업데이트합니다.
    '''
    stockList = get_market_ticker_list(date)
    stockList.sort()
    stockList = np.array(stockList)
    np.save("resources/stockList", stockList)
コード例 #7
0
def load_data():
    # 코스피, 코스닥, 코넥스 종목 리스트 가져오기
    tickers = stock.get_market_ticker_list()
    krx = fdr.StockListing('KRX')
    krx = krx[~krx['Name'].str.endswith(
        ('우', 'A', 'B', '스팩', 'C', ')', '호', '풋', '콜', 'ETN'))]
    krx = krx[~(krx['Symbol'].str.len() != 6)]
    krx = krx[~(krx['Market'].str.endswith('X'))]
    return tickers, krx
コード例 #8
0
ファイル: band.py プロジェクト: indiesoul2/stock
def load_data():
    # 코스피, 코스닥, 코넥스 종목 리스트 가져오기
    tickers = stock.get_market_ticker_list()
    # krx1 = fdr.StockListing('KRX')
    krx_list = aj.get_stock_list_from_krx()
    krx = pd.DataFrame(krx_list)
    krx = krx.iloc[1:]

    return tickers, krx
コード例 #9
0
    def getMarketTickers(self):
        logger.info("GetStockList - getMarketTickers")

        for _ in range(CONF.TOTAL_RETRY_FOR_FETCH_FAIL):
            try:
                tmpData1 = list(set(stock.get_market_ticker_list(market="KOSDAQ")))
                if tmpData1:
                    self.KOSDAQ = tmpData1
                    logger.info(f"GetStockList - getMarketTickers; KOSDAQ Total data retrieved : {len(self.KOSDAQ)}")
                    break
            except: pass
            time.sleep(CONF.SLEEP_SECONDS_BETWEEN_RQ)

        else:
            logger.critical("GetStockList - getMarketTickers; KOSDAQ No data retrieved")


        for _ in range(CONF.TOTAL_RETRY_FOR_FETCH_FAIL):
            try:
                tmpData2 = list(set(stock.get_market_ticker_list(market="KOSPI")))
                if tmpData2:
                    self.KOSPI = tmpData2
                    # self.KOSPI += GetStockList.INDEX_CODE_KOSPI
                    logger.info(f"GetStockList - getMarketTickers; KOSPI Total data retrieved : {len(self.KOSPI)}")
                    break
            except:pass
            time.sleep(CONF.SLEEP_SECONDS_BETWEEN_RQ)

        else:
            logger.critical("GetStockList - getMarketTickers; KOSPI No data retrieved")


        for _ in range(CONF.TOTAL_RETRY_FOR_FETCH_FAIL):
            try:
                tmpData3 = list(set(stock.get_market_ticker_list(market="ALL")))
                if tmpData3:
                    self.ALL = tmpData3
                    logger.info(f"GetStockList - getMarketTickers; ALL Total data retrieved : {len(self.ALL)}")
                    break
            except:pass
            time.sleep(CONF.SLEEP_SECONDS_BETWEEN_RQ)

        else:
            logger.critical("GetStockList - getMarketTickers; ALL No data retrieved")
コード例 #10
0
ファイル: collector.py プロジェクト: Ryu0n/stock_analyzer
 def save_market_code_name(self, date, market):
     item_codes = stock.get_market_ticker_list(date, market=market)
     for item_code in item_codes:
         item_name = stock.get_market_ticker_name(item_code)
         item_code = int(item_code)
         data = {
             "stock_item_name": item_name,
             "stock_item_code": item_code,
             "stock_market_name": market
         }
         req = CreateItemListReq()
         req.set_param(data)
コード例 #11
0
ファイル: collector.py プロジェクト: Ryu0n/stock_analyzer
    def __collect_tickers(market='KOSPI'):
        """
        stock.get_market_ticker_list()
        >> ['095570', '006840', '027410', '282330', '138930', ...]

        stock.get_market_ticker_name(ticker)
        >> SK하이닉스
        """
        tickers = dict()
        today = datetime.today().strftime("%Y%m%d")

        for ticker in stock.get_market_ticker_list(today, market):
            ticker_name = stock.get_market_ticker_name(ticker)
            tickers[ticker_name] = ticker
        return tickers
コード例 #12
0
def find_all_codes(fromdate: date, todate: date):
    tempd = fromdate
    codes = {}
    while True:
        codes.update({code: None for code in pykrx_stock.get_market_ticker_list(_date_to_str(tempd), market='ALL')})

        if tempd > todate:
            break
        tempd += timedelta(days=365)

    for code in codes:
        name = pykrx_stock.get_market_ticker_name(code)
        if isinstance(name, str):
            codes.update({code: name})

    return codes
コード例 #13
0
ファイル: subpykrx.py プロジェクト: Rekt77/pykrx_flask
class krxModule():
    tickerList = stock.get_market_ticker_list()
    nameList = map(lambda x: stock.get_market_ticker_name(x), tickerList)
    nameMap = dict(zip(nameList, tickerList))

    #key==index
    #value==dictionary{colums:value}
    def to_dict(self, df):
        return {
            df.iloc[i].name: df.iloc[i, :].to_dict()
            for i in range(len(df))
        }

    def chartJSON(self, dic):
        tmp_dic = {ticker["종목명"]: ticker["등락률"] for _, ticker in dic.items()}
        labels = list(tmp_dic.keys())
        datas = list(tmp_dic.values())
        rand = [[
            np.random.randint(0, 255),
            np.random.randint(0, 255),
            np.random.randint(0, 255)
        ] for _ in range(len(labels))]
        backgroundColors = [
            'rgba(%d,%d,%d,0.2)' % (rand[i][0], rand[i][1], rand[i][2])
            for i in range(len(labels))
        ]
        borderColors = [
            'rgba(%d,%d,%d,1)' % (rand[i][0], rand[i][1], rand[i][2])
            for i in range(len(labels))
        ]
        json_ = {
            'type': 'bar',
            'data': {
                'labels':
                labels,
                'datasets': [{
                    'label': '등락률',
                    'data': datas,
                    'backgroundColor': backgroundColors,
                    'borderColor': borderColors,
                    'borderWidth': '1'
                }]
            },
            'options': {
                'responsive': False,
                'scales': {
                    'yAxes': [{
                        'ticks': {
                            'beginAtZero': True
                        }
                    }]
                },
            }
        }
        return json_

    def getName_by_ticker(self, ticker):
        return self.nameMap[ticker]

    def getTop10(self, start, end):
        df = stock.get_market_price_change_by_ticker(start, end)
        return self.to_dict(df.sort_values("등락률", ascending=False).head(10))
コード例 #14
0
def Get_Krx_Short_Code(day: str):

    # list
    short_code = stock.get_market_ticker_list(day, market="ALL")
    # print(short_code)
    return short_code
コード例 #15
0
ファイル: stockCreateTable.py プロジェクト: hoijookim/stockG
# -*- coding:utf-8 -*-
from cx_Oracle import connect
from pykrx import stock

con = connect("hoijoo/[email protected]:1521/xe")
cur = con.cursor()
tickers = stock.get_market_ticker_list()
for c in tickers:
    sql = "create table s_%s(s_date date primary key, s_endprice varchar2(8 char), s_startprice varchar2(8 char), s_highprice varchar2(8 char), s_lowprice varchar2(8 char), s_amount varchar2(20 char))" % (
        c)
    cur.execute(sql)
    con.commit()
#     sql1 = "drop table s_%s cascade constraint purge" % (c)
#     cur.execute(sql1)
#     con.commit()
print("성공")
# s = stock.get_market_ohlcv_by_date("2020201", "20200210", "060310", "d", True)
# endPrice = str(s['종가']).split("\n")
# startPrice = str(s['시가']).split("\n")
# highPrice = str(s['고가']).split("\n")
# lowPrice = str(s['저가']).split("\n")
# amount = str(s['거래량']).split("\n")
# for i in range(1, (len(endPrice) - 1)):
#     date = str(s.index[i-1]).split(" ")
#     print(date[0])
#     endPrice1 = endPrice[i].split("    ")
#     startPrice1 = startPrice[i].split("    ")
#     highPrice1 = highPrice[i].split("    ")
#     lowPrice1 = lowPrice[i].split("    ")
#     amount1 = amount[i].split("    ")
#     print(endPrice1, startPrice1, highPrice1, lowPrice1, amount1)
コード例 #16
0
ファイル: market_api_test.py プロジェクト: w0v5eu8/pykrx
 def test_io_in_kosdaq_market(self):
     tickers = stock.get_market_ticker_list("20190225", market="KOSDAQ")
     for ticker in tickers:
         name = stock.get_market_ticker_name(ticker)
         self.assertIsInstance(name, str)
         self.assertNotEqual(len(name), 0)
コード例 #17
0
ファイル: market_api_test.py プロジェクト: w0v5eu8/pykrx
 def test_io_with_specific_market(self):
     tickers = stock.get_market_ticker_list("20190225", "KOSDAQ")
     self.assertIsInstance(tickers, list)
     self.assertNotEqual(len(tickers), 0)
コード例 #18
0
ファイル: market_api_test.py プロジェクト: w0v5eu8/pykrx
 def test_io_with_specific_business_date(self):
     tickers = stock.get_market_ticker_list("20170717")
     self.assertIsInstance(tickers, list)
     self.assertNotEqual(len(tickers), 0)
コード例 #19
0
ファイル: market_api_test.py プロジェクト: w0v5eu8/pykrx
 def test_io_with_default_param(self):
     tickers = stock.get_market_ticker_list()
     self.assertIsInstance(tickers, list)
     self.assertNotEqual(len(tickers), 0)
コード例 #20
0
simulation_size = 10
num_layers = 2
size_layer = 256
timestamp = 10
epoch = 500
dropout_rate = 0.8
test_size = 30
learning_rate = 0.0001

date_Start = '20200101'
stock_input = "코리아센터"
date_End = datetime.today().strftime("%Y%m%d")

print("Daily candle dates {} - {}".format(date_Start, date_End))
for ticker in stock.get_market_ticker_list(market="ALL"):
    stock_name = stock.get_market_ticker_name(ticker)
    if stock_name == stock_input:
        print('Found : {}, ticker : {}'.format(stock_input, ticker))
        korea_center_ticker = ticker
        korea_center_name = stock_input

df_korea = stock.get_market_ohlcv_by_date(date_Start, date_End,
                                          korea_center_ticker)
df_korea = df_korea.reset_index()
print(len(df_korea))
df_korea.insert(5, '종가2', df_korea['종가'])
#df = pd.read_csv('../dataset/GOOG-year.csv')
#df_korea.rename(columns=df.columns)
#print(df_korea.head())
#print(df.head())
コード例 #21
0
from pykrx import stock
tickers = stock.get_market_ticker_list("20190225")
print(tickers)
df = stock.get_market_ohlcv_by_date("20180810", "20201212", "005930", "m")
print(df.head(3))
コード例 #22
0
def getStockCode(market='KOSPI'):
    return stock.get_market_ticker_list(market=market)