顯示具有 股票 標籤的文章。 顯示所有文章
顯示具有 股票 標籤的文章。 顯示所有文章

2023年1月30日 星期一

使用Yahoo Finance套件利用Python來分析亞馬遜股票

 原文:Amazon Stock Analysis in Python with Yahoo Finance

範例1:列出前五天的的交易情形

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import pandas as pd
import yfinance as yf
import datetime
from datetime import date, timedelta
import plotly.graph_objects as go
import plotly.express as px
today = date.today()

d1 = today.strftime("%Y-%m-%d")
end_date = d1
d2 = date.today() - timedelta(days=365)
d1 = d2.strftime("%Y-%m-%d")
start_date = d2

data = yf.download('AMZN',
                   start=start_date,
                   end=end_date,
                   progress=False)

data["Date"] = data.index
data = data[["Date", "Open", "High", "Low", "Close", "Adj Close", "Volume"]]
data.reset_index(drop=True, inplace=True)
print(data.head())

執行結果:

範例2: 畫出一年趨勢圖

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import pandas as pd
import yfinance as yf
import datetime
from datetime import date, timedelta
import plotly.graph_objects as go
import plotly.express as px
today = date.today()

d1 = today.strftime("%Y-%m-%d")
end_date = d1
d2 = date.today() - timedelta(days=365)
d1 = d2.strftime("%Y-%m-%d")
start_date = d2

data = yf.download('AMZN',
                   start=start_date,
                   end=end_date,
                   progress=False)

data["Date"] = data.index
data = data[["Date", "Open", "High", "Low", "Close", "Adj Close", "Volume"]]
data.reset_index(drop=True, inplace=True)
print(data.head())
figure = go.Figure(data=[go.Candlestick(x=data["Date"],
                                        open=data["Open"], high=data["High"],
                                        low=data["Low"], close=data["Close"])])
figure.update_layout(title = "Amazon Stock Price Analysis",
                     xaxis_rangeslider_visible = False)
figure.show()

執行結果:

範例3:一年長條圖
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import pandas as pd
import yfinance as yf
import datetime
from datetime import date, timedelta
import plotly.graph_objects as go
import plotly.express as px
today = date.today()

d1 = today.strftime("%Y-%m-%d")
end_date = d1
d2 = date.today() - timedelta(days=365)
d1 = d2.strftime("%Y-%m-%d")
start_date = d2

data = yf.download('AMZN',
                   start=start_date,
                   end=end_date,
                   progress=False)

data["Date"] = data.index
data = data[["Date", "Open", "High", "Low", "Close", "Adj Close", "Volume"]]
data.reset_index(drop=True, inplace=True)
print(data.head())
figure = px.bar(data, x="Date", y="Close")
figure.show()

執行結果:

範例4: 使用時間區塊來瞭解某一時段的交易情形

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import pandas as pd
import yfinance as yf
import datetime
from datetime import date, timedelta
import plotly.graph_objects as go
import plotly.express as px
today = date.today()

d1 = today.strftime("%Y-%m-%d")
end_date = d1
d2 = date.today() - timedelta(days=365)
d1 = d2.strftime("%Y-%m-%d")
start_date = d2

data = yf.download('AMZN',
                   start=start_date,
                   end=end_date,
                   progress=False)

data["Date"] = data.index
data = data[["Date", "Open", "High", "Low", "Close", "Adj Close", "Volume"]]
data.reset_index(drop=True, inplace=True)
print(data.head())
figure = px.line(data, x='Date', y='Close',
                 title='Stock Market Analysis with Rangeslider')
figure.update_xaxes(rangeslider_visible=True)
figure.show()

執行結果:


2019年10月30日 星期三

[ Python ] Python就是好玩,三行指令串接股票市場一點都不難

1.安裝虛擬環境twstock

2.安裝串接台灣股票市場的套件
https://twstock.readthedocs.io/zh_TW/latest/quickstart.html

3.查看股票代碼,台積電的代碼是2330。
https://www.tej.com.tw/webtej/doc/uid.htm

4.撰寫列印股票代碼的程式,本範例採用Python的IDLE工,儲存成stock.py程式。

5.在cmd上執行程式,python stock.py發現少了lxml套件

6.執行安裝lxml套件
https://lxml.de/

 7.再度執行python程式,python stock.py

8.撰寫回傳台積電各日之收盤價的程式

9.回傳台積電各日之收盤價

10.撰寫回傳台積電各日之最高價的程式

11. 執行回傳台積電各日之最高價的程式

12.取得台積電及時股票資訊

13.執行取得及時股票資訊的程式,但產生錯誤

14.加入設定mock=True的指令

15.成功取得台積電即時股票資訊