Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save FinanceData/152419fed6c40d0df19a1c5e8f2f4e72 to your computer and use it in GitHub Desktop.
Save FinanceData/152419fed6c40d0df19a1c5e8f2f4e72 to your computer and use it in GitHub Desktop.
마켓 데이터 크롤링 02 - 야후 파이낸스
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 마켓 데이터 크롤링 - 야후 파이낸스\n",
"\n",
"<img src=\"http://i.imgur.com/grQHNKG.jpg\">\n",
" \n",
"#### 2017 이승준 fb.com/plusjune\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 야후 파이낸스\n",
"http://finance.yahoo.com/\n",
"* http://finance.yahoo.com/q?s=005930.KS\n",
"* 기업의 기본정보, 차트(지연), 뉴스\n",
"* 배당 Dividends\n",
"* 손익계산서 Income statement <br/> 대차대조표 Balance Sheet <br/> 현금흐름표 Cash Flow"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 파이낸스 티커 심볼\n",
"미국시장에서는 종목을 식별하기 위해 영문알파벳 조합된 코드.<br/> \n",
"야후(yahho.com), 포브스(forbes.com) 같은 모든 경제 사이트에서 통용\n",
"\n",
"#### 뉴욕증권거래소(NYSE, 1~3개의 영문)\n",
"* F (포드 자동차)\n",
"* GE (제너럴 일렉트릭)\n",
"* BAC (뱅크오브아메리카)\n",
"\n",
"#### 나스닥(NASDAQ, 4~5개의 영문)\n",
"* APPL (Apple Inc, 애플)\n",
"* GOOG (Google, 구글)\n",
"* MSFT (Microsoft, 마이크로소프트)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 모든 종목의 티커를 구하려면,\n",
"#### Company List (NASDAQ, NYSE, & AMEX)\n",
"* http://nasdaq.com/screening/company-list.aspx\n",
"\n",
"#### Nasdaqtrader.com\n",
"* http://www.nasdaqtrader.com/trader.aspx?id=symboldirdefs\n",
"* nasdaqlisted.txt, otherlisted.txt\n",
"\n",
"#### Bloomberg Open Symbology\n",
"* http://bsym.bloomberg.com/sym/"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Stock Screener\n",
"종목 스크리너 Stock Screener, 종목 검색, Ticker symbol\n",
"* FINVIZ.com <br/> http://finviz.com/screener.ashx\n",
"* Yahoo Finance  <br/> http://screener.finance.yahoo.com/stocks.html\n",
"* Google Finance <br/> http://www.google.com/finance/stockscreener\n",
"* Morningstar <br/> http://screen.morningstar.com/stockselector.html"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 미국 시장 주요 종목\n",
"미국 시장(AMEX, NYSE, NASDAQ) <br/>http://finviz.com/\n",
"\n",
"http://finviz.com/screener.ashx?v=111&o=-marketcap\n",
"\n",
"\n",
"[구글 스프레드시트] 미국 시장 주요 종목 (시총 상위 20, 자동 업데이트) <br/>\n",
"https://goo.gl/LWCF9K "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 미국 시장 시총 상위 20\n",
"미국 시장(AMEX, NYSE, NASDAQ) 시가총액 상위 20 (출처: http://finviz.com/ )\n",
"\n",
"No.| Ticker| Company| Sector| Industry| Country\n",
"-- | -- | -- | -- | -- | -- \n",
"1| AAPL| Apple Inc.| Consumer Goods| Electronic Equipment| USA\n",
"2| GOOGL| Alphabet Inc.| Technology| Internet Information Providers| USA\n",
"3| GOOG| Alphabet Inc.| Technology| Internet Information Providers| USA\n",
"4| MSFT| Microsoft Corporation| Technology| Business Software & Services| USA\n",
"5| XOM| Exxon Mobil Corporation| Basic Materials| Major Integrated Oil & Gas| USA\n",
"6| BRK-A| Berkshire Hathaway Inc.| Financial| Property & Casualty Insurance| USA\n",
"7| AMZN| Amazon.com, Inc.| Services| Catalog & Mail Order Houses| USA\n",
"8| BRK-B| Berkshire Hathaway Inc.| Financial| Property & Casualty Insurance| USA\n",
"9| FB| Facebook, Inc.| Technology| Internet Information Providers| USA\n",
"10| JNJ| Johnson & Johnson| Healthcare| Drug Manufacturers - Major| USA"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 국내 지수, 종목\n",
"## 야후 파이낸스 국내 지수\n",
"* ^KS11 : KOSPI Composite Index (코스피 지수)\n",
"* ^KQ11 : KOSDAQ Composite Index (코스닥 지수)\n",
"\n",
"## 종목 티커 심볼\n",
"* 유가증권시장은 종목코드에 .KS 붙인다 <br/>예) 삼성전자 005930.KS\n",
"* 코스닥 시장은 종목코드에 .KQ 붙는다 <br/>예) 셀트리온 068270.KQ"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"<img width=\"320\" src=\"http://i.imgur.com/jrnCRok.png\" />"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 외환\n",
"* USDKRW=X 원달러 환율\n",
"* XAUUSD=X 금 고시가격 (달러/온스)\n",
"\n",
"(직접 다운로드를 지원하지 않는다)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 해외지수\n",
"\n",
"NYSE 3대 지수: 다우지수, 나스닥, S&P500\n",
"* ^DJI : Down Jones Industrial Average (다우존스 지수)\n",
"* ^IXIC : NASDAQ Composite (나스닥 지수)\n",
"* ^GSPC : S&P 500 Index (S&P 500 지수)\n",
"\n",
"미국외\n",
"* ^N225 : Nikkei 225 (일본 니케이 지수)\n",
"* ^HSI : Hang Seng Index (홍콩 항셍 지수)\n",
"* 000001.SS : SSE Composite (상해 지수)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 야후 파이낸스 API\n",
"\n",
"* CSV API - CSV 형식으로 결과 수신\n",
"* YQL API - XML, JSON 포맷으로 결과, 콘솔 제공 <br> https://developer.yahoo.com/yql\n",
"* 차트 데이터\n",
"* 뉴스 피드 (RSS News Feeds)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 종목 상세 정보\n",
"해당 종목에 대한 상세 정보를 CSV\n",
"\n",
"#### http://finance.yahoo.com/d/quotes.csv?s={심볼}&f={필요-데이터-지정}\n",
"\n",
"예를 들어, \n",
"\n",
"#### http://finance.yahoo.com/d/quotes.csv?s=GOOG&f=nab\n",
"\n",
"nab는 각각 \n",
"* n(name, 이름)\n",
"* a(ask, 매도호가)\n",
"* b(bid, 매수호가)\n",
"\n",
"[구글 닥스] https://goo.gl/r541SK 야후 CSV API 태그"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"source": [
"한 두 개의 알파벳으로 종목에 대한 상세 정보를 얻을 수 있다. \n",
"상세 내용은 정리되어 있다/. https://goo.gl/r541SK\n",
"\n",
"시, 고, 저, 종, 거래량\n",
"각각 Open, High, Low, Colse\n",
"OHLC, V\n",
"OHLC를 표현한 차트가 캔들차트이다"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 종가(Close) 와 수정종가(Adj Close)\n",
"* 수정주가 Adjusted Closing Price: 분할, 배당, 배분, 신주 발행이 반영된 주식 가격\n",
"* 데이터 분석에는 ”Adj Close” 사용\n",
"\n",
"[구글 닥스] https://goo.gl/8miw98 애플 주식분할 ImportHTML()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true,
"slideshow": {
"slide_type": "notes"
}
},
"source": [
"구글 스프레드의 ImportHTML()활용하는 방법도 잘 살펴보자. 가격 데이터(OHLC, V)를 간편하게 가져올 수 있다."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"source": [
"수정주가 Adjusted Closing Price: 분할, 배당, 배분, 신주 발행이 반영된 주식 가격\n",
"\n",
"2014년 7월 9일 7:1 액면분할\n",
"\n",
"데이터의 연속성을 보장하기 때문에 데이터 분석에는 ”Adj Close” 사용한다.\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 특정 기간의 가격 데이터\n",
"\n",
"* 005930 삼성전자 2015년 <br/>\n",
"http://real-chart.finance.yahoo.com/table.csv?s=005930.KS&a=0&b=1&c=2015&d=11&e=30&f=2015&g=d\n",
"\n",
"\n",
"* KS11 KOSPI 지수 2015년 <br/>\n",
"http://real-chart.finance.yahoo.com/table.csv?s=^KS11&a=0&b=1&c=2014&d=11&e=30&f=2014&g=d"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 요청 URL 만들기\n",
"\n",
"키 | 설명 | 값 | 예제(비고)\n",
"-- | -- | -- |\n",
"s | 종목(심볼) | 005930.KS | Samsung Electronics Co. Ltd.\n",
"a | 시작 월 | 0 | 1월 (0부터 시작)\n",
"b | 시작 일 | 1 | \n",
"c | 시작 년 | 2014 | \n",
"d | 끝 월 | 11 | 12월 (0부터 시작)\n",
"e | 끝 일 | 31 | \n",
"f | 끝 년 | 2014 | \n",
"g | 기간 | d:일, w :주, m:월 | v:'배당'만 표시\n",
"\n",
"http://real-chart.finance.yahoo.com/table.csv? <br/>\n",
"s=**005930.KS**&a=**0**&b=**1**&c=**2014**&d=**11**&e=**31**&f=**2014**&g=**d**"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 가격 데이터 Historical Prices (csv)\n",
"\n",
"삼성전자(005930.KS) 2015년 일별 주가"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Date,Open,High,Low,Close,Volume,Adj Close\n",
"2015-12-31,1260000.00,1260000.00,1260000.00,1260000.00,000,1235697.79\n",
"2015-12-30,1260000.00,1272000.00,1254000.00,1260000.00,203900,1235697.79\n",
"2015-12-29,1265000.00,1266000.00,1241000.00,1254000.00,232900,1229813.52\n",
"2015-12-28,1285000.00,1289000.00,1266000.00,1266000.00,227200,1221967.81\n",
"2015-12-25,1285000.00,1285000.00,1285000.00,1285000.00,000,1240306.98\n",
"2015-12-24,1295000.00,1300000.00,1285000.00,1285000.00,156100,1240306.98\n",
"2015-12-23,1292000.00,1299000.00,1282000.00,1295000.00,207100,1249959.17\n",
"2015-12-22,1280000.00,1292000.00,1267000.00,1292000.00,206100,1247063.51\n",
"2015-12-21,1278000.00,1285000.00,1261000.00,1280000.00,160400,1235480.88\n"
]
}
],
"source": [
"import requests\n",
"\n",
"url = 'http://real-chart.finance.yahoo.com/table.csv?'\n",
"param = 's=005930.KS&a=0&b=1&c=2015&d=11&e=31&f=2015&g=d'\n",
"\n",
"r = requests.get(url+param)\n",
"for row in r.text.split('\\n')[:10]:\n",
" print (row)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# pandas.read_csv()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Date</th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2015-12-31</td>\n",
" <td>1260000.0</td>\n",
" <td>1260000.0</td>\n",
" <td>1260000.0</td>\n",
" <td>1260000.0</td>\n",
" <td>0</td>\n",
" <td>1235697.79</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2015-12-30</td>\n",
" <td>1260000.0</td>\n",
" <td>1272000.0</td>\n",
" <td>1254000.0</td>\n",
" <td>1260000.0</td>\n",
" <td>203900</td>\n",
" <td>1235697.79</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2015-12-29</td>\n",
" <td>1265000.0</td>\n",
" <td>1266000.0</td>\n",
" <td>1241000.0</td>\n",
" <td>1254000.0</td>\n",
" <td>232900</td>\n",
" <td>1229813.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2015-12-28</td>\n",
" <td>1285000.0</td>\n",
" <td>1289000.0</td>\n",
" <td>1266000.0</td>\n",
" <td>1266000.0</td>\n",
" <td>227200</td>\n",
" <td>1221967.81</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2015-12-25</td>\n",
" <td>1285000.0</td>\n",
" <td>1285000.0</td>\n",
" <td>1285000.0</td>\n",
" <td>1285000.0</td>\n",
" <td>0</td>\n",
" <td>1240306.98</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Open High Low Close Volume Adj Close\n",
"0 2015-12-31 1260000.0 1260000.0 1260000.0 1260000.0 0 1235697.79\n",
"1 2015-12-30 1260000.0 1272000.0 1254000.0 1260000.0 203900 1235697.79\n",
"2 2015-12-29 1265000.0 1266000.0 1241000.0 1254000.0 232900 1229813.52\n",
"3 2015-12-28 1285000.0 1289000.0 1266000.0 1266000.0 227200 1221967.81\n",
"4 2015-12-25 1285000.0 1285000.0 1285000.0 1285000.0 0 1240306.98"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"url = 'http://real-chart.finance.yahoo.com/table.csv?'\n",
"param = 's=005930.KS&a=0&b=1&c=2015&d=11&e=31&f=2015&g=d'\n",
"\n",
"df = pd.read_csv(url + param)\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Date</th>\n",
" <th>Dividends</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2015-12-29</td>\n",
" <td>20000.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2015-06-29</td>\n",
" <td>1000.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2014-12-29</td>\n",
" <td>19500.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2014-06-27</td>\n",
" <td>500.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2013-12-27</td>\n",
" <td>13800.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Dividends\n",
"0 2015-12-29 20000.0\n",
"1 2015-06-29 1000.0\n",
"2 2014-12-29 19500.0\n",
"3 2014-06-27 500.0\n",
"4 2013-12-27 13800.0"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 배당만 보기\n",
"import pandas as pd\n",
"url = 'http://real-chart.finance.yahoo.com/table.csv?'\n",
"param = 's=005930.KS&a=0&b=1&c=2000&d=11&e=31&f=2015&g=v'\n",
"\n",
"df = pd.read_csv(url + param)\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true,
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"과거 10년치 가격 데이터 얻기는 아래와 간단하다."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Date</th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2016-12-30</td>\n",
" <td>1802000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>0</td>\n",
" <td>1795961.65</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2016-12-29</td>\n",
" <td>1771000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>1770000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>150300</td>\n",
" <td>1795961.65</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2016-12-28</td>\n",
" <td>1792000.0</td>\n",
" <td>1799000.0</td>\n",
" <td>1780000.0</td>\n",
" <td>1788000.0</td>\n",
" <td>133200</td>\n",
" <td>1782008.57</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2016-12-27</td>\n",
" <td>1799000.0</td>\n",
" <td>1810000.0</td>\n",
" <td>1793000.0</td>\n",
" <td>1799000.0</td>\n",
" <td>93000</td>\n",
" <td>1765563.93</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2016-12-26</td>\n",
" <td>1780000.0</td>\n",
" <td>1800000.0</td>\n",
" <td>1778000.0</td>\n",
" <td>1798000.0</td>\n",
" <td>96400</td>\n",
" <td>1764582.52</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Date Open High Low Close Volume Adj Close\n",
"0 2016-12-30 1802000.0 1802000.0 1802000.0 1802000.0 0 1795961.65\n",
"1 2016-12-29 1771000.0 1802000.0 1770000.0 1802000.0 150300 1795961.65\n",
"2 2016-12-28 1792000.0 1799000.0 1780000.0 1788000.0 133200 1782008.57\n",
"3 2016-12-27 1799000.0 1810000.0 1793000.0 1799000.0 93000 1765563.93\n",
"4 2016-12-26 1780000.0 1800000.0 1778000.0 1798000.0 96400 1764582.52"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"url = 'http://real-chart.finance.yahoo.com/table.csv?'\n",
"param = 's=005930.KS&a=0&b=1&c=2000&d=11&e=31&f=2016&g=d'\n",
"\n",
"df = pd.read_csv(url + param)\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/plain": [
"4412"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(df)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Index(['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'Adj Close'], dtype='object')\n",
"Date object\n",
"Open float64\n",
"High float64\n",
"Low float64\n",
"Close float64\n",
"Volume int64\n",
"Adj Close float64\n",
"dtype: object\n"
]
}
],
"source": [
"print (df.columns)\n",
"print (df.dtypes)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Open</th>\n",
" <th>High</th>\n",
" <th>Low</th>\n",
" <th>Close</th>\n",
" <th>Volume</th>\n",
" <th>Adj Close</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Date</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2016-12-30</th>\n",
" <td>1802000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>0</td>\n",
" <td>1802000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-12-29</th>\n",
" <td>1771000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>1770000.0</td>\n",
" <td>1802000.0</td>\n",
" <td>150300</td>\n",
" <td>1802000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-12-28</th>\n",
" <td>1792000.0</td>\n",
" <td>1799000.0</td>\n",
" <td>1780000.0</td>\n",
" <td>1788000.0</td>\n",
" <td>133200</td>\n",
" <td>1788000.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-12-27</th>\n",
" <td>1799000.0</td>\n",
" <td>1810000.0</td>\n",
" <td>1793000.0</td>\n",
" <td>1799000.0</td>\n",
" <td>93000</td>\n",
" <td>1771500.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2016-12-26</th>\n",
" <td>1780000.0</td>\n",
" <td>1800000.0</td>\n",
" <td>1778000.0</td>\n",
" <td>1798000.0</td>\n",
" <td>96400</td>\n",
" <td>1770515.29</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Open High Low Close Volume Adj Close\n",
"Date \n",
"2016-12-30 1802000.0 1802000.0 1802000.0 1802000.0 0 1802000.00\n",
"2016-12-29 1771000.0 1802000.0 1770000.0 1802000.0 150300 1802000.00\n",
"2016-12-28 1792000.0 1799000.0 1780000.0 1788000.0 133200 1788000.00\n",
"2016-12-27 1799000.0 1810000.0 1793000.0 1799000.0 93000 1771500.01\n",
"2016-12-26 1780000.0 1800000.0 1778000.0 1798000.0 96400 1770515.29"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.to_datetime(df['Date']) # datetime 컬럼으로 변환\n",
"df = df.set_index('Date') # 인덱스 컬럼 지정\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# read_csv()에서 한번에 지정 (Date, Index)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": true,
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f5d33034550>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5d332faa90>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%matplotlib inline\n",
"\n",
"import pandas as pd\n",
"url = 'http://real-chart.finance.yahoo.com/table.csv?' \\\n",
" 's=005930.KS&a=0&b=1&c=2015&d=11&e=31&f=2015&g=d'\n",
"\n",
"df = pd.read_csv(url, index_col='Date', parse_dates=['Date'])\n",
"df['Adj Close'].plot(figsize=(16, 4))"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 기간을 지정하는 다양한 방법들\n",
"\n",
"```python\n",
"df.sort_index(inplace=True)\n",
"\n",
"df['2013'] # 2013년\n",
"df['2013-06'] # 6월\n",
"df['2013-07-01':'2013-09-30'] # 3/4 분기\n",
"df[:'2013-06-30'] # 상반기\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## 기간 지정 (하반기)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"source": [
"삼성전자 2015년 하반기 가격 데이터"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f5d3305ba58>"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nFRGR4inZLcIBB3iim4r9dtev9335Ut3dOdFS5s8/9++revXUxpGoPn18S4iZM0vvnvPmwdy50KLF\nxjEzlTKLiJTUwoWw++6ZjkJERGRTxSa7ZtbXzJaZ2bSosfvNbIaZfW1mb5rZdlGv9TSzOZHXW0aN\ntzKzmWY228xuihqvY2aTzWyWmQ00syqR8apmNihyrU/NbM/i7pFqZqnryjx4MDRs6FsypNI//5lY\nsjtxopftZlqtWr6dxHXXpW7mvDhDhvhar4IzD0cdpWRXRKQkFi1SsisiItknnpndfsBJBcZGAweG\nEA4F5gA9AczsAOBsYH/gZOApc5WAJyLXORDoaGb5ad99wEMhhAbAKqBLZLwLsCKEUA94BLi/qHsk\n+o3HK7+UuaSeeKLk2w3Fcvzx3pBj3br4js9Uc6pYrrzS13mlY4unWN54A846a/PxZs38ZygiIslZ\ntMh3MBAREckmxSa7IYSJwMoCYx+EEPJ3S50M5D/PbQsMCiHkhBDm4Ynw4ZGPOSGE+SGEDcAgoF3k\nnOOBNyOfvwy0j3zeLvI1wJDIcUXdIy1atIAvvvBtc5L12We+J26bNqmLK1/NmnDggfEla3l5flyz\nZqmPIxlVq8LDD/vs7t9/p/de8+Z5M6roEuZ8jRp5efPvv6c3BhGR8kozuyIiko1SsWb3X0D+3Nxu\nwMKo1xZHxgqOLwJ2M7MdgZVRifOiyLGbXCuEkAusNrMdirhHWlSr5snhBx8UfkwI8Oab8Prr8PHH\nvg515cqN5bmPP+5bIqRrX9l41+1+951vCVG7dnriSMbJJ0P9+r7vbzoVVsIMnnQ3bgyTJ6c3BhGR\n8kprdkVEJBuVKNk1s1uADSGEgflDMQ4LxYwXfC1/BWei10qbNm0KL2XOyYFLLvGtfIYM8T0G27b1\nTslbbeV7/Q0bBl26xD4/FeJNdrOphDnaf/8L990HS5em7x6DB8cuYc6nJlUiIsnTzK6IiGSjKsme\naGadgdZsLC8Gn5mNXrWzO7AET1D3LDgeQvjVzGqaWaXI7G7+8dHXWmJmlYEaIYSVZlbYPWLq1avX\n/z5v3rw5zZs3T+TbBHz2sU8fLwOO3s927Vro0MHXy06atHmH47VrfS/AqlVhhx0Svm3cmjaFOXPg\nt99gxx0LP27ixMztrVuU+vXhoovg5pvhxRdTf/2ffvKPWCXM+Zo185JqERFJzN9/w4oV2VU1JCIi\n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\nB9IAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f5d32fd16d8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.sort_index(inplace=True)\n",
"\n",
"df['2015-07-01':]['Adj Close'].plot(figsize=(16, 4)) # 하반기"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 종목 주요 통계량\n",
"\n",
"종목의 주요 통계값(Key Statistics)은 아래 URL에서 볼 수 있다 (펀더멘털) <br/>\n",
"http://finance.yahoo.com/q/ks?s=[TICKER_SYMBOl]+Key+Statistics\n",
"\n",
"\n",
"[구글 닥스] https://goo.gl/r541SK 야후 파이낸스 CSV API 태그"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"'\"Alphabet Inc.\",839.40,835.39\\n'"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 간단한 예제\n",
"\n",
"import requests\n",
"\n",
"r = requests.get('http://finance.yahoo.com/d/quotes.csv?s=GOOG&f=nab')\n",
"r.text"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"['\"SamsungElec\",2009000.00,2008000.00',\n",
" '\"Apple Inc.\",139.12,139.03',\n",
" '\"Alphabet Inc.\",853.25,853.01',\n",
" '\"Microsoft Corporation\",64.99,64.92',\n",
" '']"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 여러 종목의 Key Statistics 한번에\n",
"\n",
"import requests\n",
"\n",
"symbol = '005930.KS+AAPL+GOOGL+MSFT'\n",
"stat = 'nab'\n",
"url = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (symbol, stat)\n",
"r = requests.get(url)\n",
"r.text.split('\\n')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"'1.64,2.28,N/A,\"2/16/2017\",N/A,\"2/9/2017\",139.52,138.92,-0.52,\"3/8/2017\",\"-0.52 - -0.37%\",N/A,N/A,\"4:00pm\",N/A,\"-0.37%\",N/A,21.49,N/A,+18.28%,138.82,7.99,139.80,+6.09%,N/A,131.01,\"4:00pm - <b>139.00</b>\",117.51,139.00,143.25,N/A,N/A,N/A,N/A,N/A,N/A,\"138.82 - 139.80\",N/A,N/A,N/A,140.28,18707236,89.47,729.27B,49.53,N/A,-1.28,5185942000,+55.36%,\"Apple Inc.\",-0.91%,N/A,\"89.47 - 140.28\",N/A,\"NMS\",5246540000,18707236,3000,500,N/A,N/A,28451600,N/A,N/A,N/A,8.33,N/A,8.94,N/A,10.15,N/A,1.62,218.12B,25.19,69.75B,3.36,5.54,16.69,N/A,1.69,15.55,13.69,1.45\\n'"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# 종목 Key Statistics 전체\n",
"\n",
"# 사용할 수 있는 tag. 상세한 내용은 \n",
"# [구글 닥스] https://goo.gl/r541SK 야후 CSV API 태그 참조\n",
"\n",
"tags = 'ydb2r1b3qpoc1d1cd2c6t1k2p2c8m5c3m6gm7hm8k1m3lm4l1t8w1g1w4g3p' \\\n",
" '1g4mg5m2g6kvjj1j5j3k4f6j6nk5n4ws1xj2va5b6k3t7a2t615l2el3e7v1' \\\n",
" 'e8v7e9s6b4j4p5p6rr2r5r6r7s7'\n",
" \n",
"sym = 'AAPL'\n",
"url = 'http://finance.yahoo.com/d/quotes.csv?s=%s&f=%s' % (sym, tags)\n",
"r = requests.get(url)\n",
"r.text "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# RSS 뉴스피드\n",
"### RSS를 써서 간단하게 뉴스를 얻을 수 있다.\n",
"* http://finance.yahoo.com/rss/headline?s=005930.KS\n",
"\n",
"### 티커 심볼(Ticker symbol)을 여러 개 , 로 붙어서 쓸 수 있다.\n",
"* http://finance.yahoo.com/rss/headline?s=appl,googl,msft"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# 리뷰\n",
"1. Yahoo Finance (csv download)\n",
"1. requests.get(url)\n",
"1. pandas.read_csv()\n",
"1. DataFrame.plot()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "notes"
}
},
"source": [
"#### 2017 https://facebook.com/financedata"
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment