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)
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
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}
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!')
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()
def update_valid_stocklist(date): ''' date 기준으로 상장된 종목 리스트를 업데이트합니다. ''' stockList = get_market_ticker_list(date) stockList.sort() stockList = np.array(stockList) np.save("resources/stockList", stockList)
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
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
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")
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)
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
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
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))
def Get_Krx_Short_Code(day: str): # list short_code = stock.get_market_ticker_list(day, market="ALL") # print(short_code) return short_code
# -*- 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)
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)
def test_io_with_specific_market(self): tickers = stock.get_market_ticker_list("20190225", "KOSDAQ") self.assertIsInstance(tickers, list) self.assertNotEqual(len(tickers), 0)
def test_io_with_specific_business_date(self): tickers = stock.get_market_ticker_list("20170717") self.assertIsInstance(tickers, list) self.assertNotEqual(len(tickers), 0)
def test_io_with_default_param(self): tickers = stock.get_market_ticker_list() self.assertIsInstance(tickers, list) self.assertNotEqual(len(tickers), 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())
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))
def getStockCode(market='KOSPI'): return stock.get_market_ticker_list(market=market)