前言
- 跟朋友聊天聊到這個需求:上班族有時候不是這麼方便一直盯盤 (台股)、也未必可以一直用手機;要是可以用電腦看就更方便了。
- 於是我做了一個 shell script (以及後來的 arbinfo)
- 免責聲明:我對股票沒太大興趣,絕對不會在上班偷看的 (?)
更新:過了一陣子之後,我做了網頁版,貼近一般上班族的需求,參考 Arbinfo 的 低調清單 功能
使用腳本
- 要有
jq
這個指令,mac 可以用 brew install jq
安裝。
先下載 shell script (.sh
)
1
2
3
4
|
curl -s https://gist.githubusercontent.com/ktlast/52994bb2d1da5d590b4c0d02a36d5719/raw/glance-tw-stock.sh > glance-tw-stock.sh
# 設定權限
chmod +x glance-tw-stock.sh
|
執行!
會進入主迴圈,畫面上只會有冒號 :
。
可以輸入 h
查看使用方式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
: h
help:
[(n)ew | (l)ist | (d)elete | (w)atch | (q)uit | (h)elp | (i)mport | (e)xport]
- (n)ew: add new stock target with code, shares and avg cost
- (l)ist: list all stock target
- (d)elete: delete stock target
- (w)atch: start watching
- (q)uit: quit
- (h)elp: show this message
- (i)mport: import stock targets from env file
- (e)xport: export/backup stock targets to env file
|
使用範例
新增一支股票,例如台積電 2330
,持有 1000
股,平均成本 777
元;
腳本會分別詢問股票代碼、持有股數、平均成本:
1
2
3
4
5
|
# 按下 n 新增
: n
> Add stock code: 2330
> with shares: 1000
> @ avg cost: 777
|
再用 n
一次,新增鴻海 2317
,持有 2000
股,平均成本 155
元:
1
2
3
4
|
: n
> Add stock code: 2317
> with shares: 2000
> @ avg cost: 155
|
按下 l
查看目前持有的股票:
1
2
3
4
5
6
7
|
: l
╭─────────────────────────────────────╮
┊ Stock Code Shares @ Cost ┊
╞=====================================╡
┊ 2330 1,000 @ 777.00 ┊
┊ 2317 2,000 @ 155.00 ┊
╰─────────────────────────────────────╯
|
準備好之後,按下 w
開始監控:
1
2
3
4
5
6
7
8
9
10
11
12
|
refresh in (3.00)s
╭─────────────────────────────────────────────────────────╮
┊ Stock ┊ Bid ┊ Ask ┊ P/L ┊
╞=========================================================╡
| 2330 818.00 819.00 41,000 |
| 2317 150.50 151.00 -9,000 |
╰─────────────────────────────────────────────────────────╯
(q)uit:
|
腳本每 3 秒會去更新一次報價,並計算損益。
Note
- 受限於證交所 API (免費) 的限制,報價最快
5
秒更新一次。所以即使改了腳本讓他每秒更新一次報價也沒有用。
按下 q
退出監控模式。
1
2
3
|
(q)uit: q
Watching Stopped.
:
|
假設我們再加上緯創 3231
:
1
2
3
4
|
: n
> Add stock code: 3231
> with shares: 1000
> @ avg cost: 133
|
然後,我們現在不再需要查看鴻海 2317
的報價,可以按下 d
刪除:
1
2
3
|
: d
> Delete stock code: 2317
3231 2330 # 回傳的是剩下的股票代碼
|
可以用 l
確認:
1
2
3
4
5
6
7
|
: l
╭─────────────────────────────────────╮
┊ Stock Code Shares @ Cost ┊
╞=====================================╡
┊ 3231 1,000 @ 133.00 ┊
┊ 2330 1,000 @ 777.00 ┊
╰─────────────────────────────────────╯
|
備份與載入
一般情況下腳本不會儲存資料,所以如果要備份可以用 e
匯出。
1
2
|
: e
Exporting to [./.glance.sh.env]
|
再次執行腳本時,不會自動載入上次的紀錄
1
2
3
4
5
6
7
|
./glance-tw-stock.sh
Press (h) for help.
: l
╭─────────────────────────────────────╮
┊ Stock Code Shares @ Cost ┊
╞=====================================╡
╰─────────────────────────────────────╯
|
可以用 i
匯入:
1
2
3
4
5
6
7
8
9
10
|
: i
Importing from [./.glance.sh.env]
: l
╭─────────────────────────────────────╮
┊ Stock Code Shares @ Cost ┊
╞=====================================╡
┊ 3231 1,000 @ 133.00 ┊
┊ 2330 1,000 @ 777.00 ┊
╰─────────────────────────────────────╯
# 上次匯出的結果回來了
|
REF
- me; source code: