【新手入門】如何避免投資人常犯錯誤-損失規避

TEJ 台灣經濟新報
TEJ-API 金融資料分析
6 min readJul 18, 2023

利用 python 演示交易中的損失規避問題。

photo by James Harrison on Unsplash

本文關鍵字: 損失規避、程式交易

本文重點概要

  • 文章難度:★☆☆☆☆
  • 使用損失規避進行自動化交易策略
  • 利用上市櫃股價資料進行損失規避效果研究

前言

『損失規避』在投資的世界中是一個關鍵的議題,無論是對於新手投資者還是經驗豐富的專家都是如此。在我們追求投資回報的同時,損失的風險也時刻存在。因此,採取有效的損失規避策略至關重要,以保護我們的資金並提高投資成功的機會。

損失規避的效果不僅在於減少潛在的損失,還可以提高投資組合的整體表現。當我們能夠識別和避免可能帶來重大損失的投資機會時,我們可以避免過度暴露於高風險資產或市場。透過資產分散和風險管理策略,我們能夠在市場波動時保持相對穩定的投資回報,降低損失的影響。

有效的損失規避策略還可以幫助我們管理投資中的情緒和情感因素。市場的波動和不確定性往往會引發恐慌和衝動的決策,導致投資者做出不理性的行為。然而,藉助明確的規則和策略,我們可以保持冷靜、理性地應對市場變化,從而減少情緒驅使的投資決策所帶來的損失。

透過本文,我們將利用 python 實作的方式,搭配使用 tejapi 抓取股價資料,來檢視有進行損失規避和無操作損失規避的差異。透過了解和應用損失規避,我們將能夠更好地保護自己的投資,降低潛在損失並提高長期回報。

編輯環境與模組需求

本文使用 Mac 作業系統以及 Visual studio code作為編輯器。

import tejapi
import matplotlib.pyplot as plt
tejapi.ApiConfig.api_key = "your api key"
tejapi.ApiConfig.ignoretz = True

資料庫使用

資料導入

資料期間從2023–06–12到2023–07–12以寒舍餐旅管理顧問股份有限公司(2739)股價作為實例。抓取未調整的收盤價。

# Select 2739 recent stock prices

company = '2739'
price_data = tejapi.get('TWN/EWPRCD',
coid = company,
mdate={
# 起始日期
'gte':'2023-06-12',
# 結束日期
'lte':'2023-07-12'},
opts={'columns': ['coid','mdate','close_d']},
paginate=True
)
print(price_data)

取得收盤價資料後,將資料進行視覺化處理

date = []
for d in price_data['mdate']:
date.append(str(d)[5:7]+'/'+str(d)[8:10])


plt.figure(figsize=(11, 6))
plt.plot(date, price_data['close_d'], label='stock price', color='blue')
plt.title('stock price') # set figure title
plt.xlabel('Days') # set X-axis label
plt.ylabel('price') # Set Y-axis label
plt.show()
股票價格走勢

我們可以觀察到股價在這個區間經過了一個小的漲幅之後就一路往下跌,適合進行損失規避的實測。

績效計算

get_day1_price = price_data['close_d'][0]
print('purchase price:',get_day1_price)
no_strategy = 0
if_strategy = 0


for i in range(0, len(price_data['close_d'])):
no_strategy = no_strategy + price_data['close_d'][i]-get_day1_price
# If the price decrease more than 10 percent of original price , it will be sold.
if price_data['close_d'][i] < get_day1_price*0.9:
if_strategy += 0
else:
if_strategy = if_strategy + price_data['close_d'][i]-get_day1_price


print('No-loss-avoidance operation settlement surplus:',no_strategy)
print('circumvention operation to settle the surplus:',if_strategy)
績效比較

經過計算之後,有進行規避操作比投資人繼續持有股票來說多了每股多了30塊台幣的盈餘,因此在股價低於設定值時有紀律進行賣出是最好的策略。

結論

本次實作展示了一個關於損失規避的交易策略。透過使用程式碼,我們能夠觀察到在特定的股價條件下,進行賣出操作相較於持有股票能夠獲得更高的盈餘。

然而,值得注意的是,每個投資者的情況和風險承受能力是不同的。這個範例只是一種可能的策略,並不能保證在所有情況下都能獲得盈利。在實際投資中,我們需要仔細考慮自己的目標、風險偏好和時間框架,並採取適合自己的投資策略。

此外,本次實作也提醒我們注意市場風險和不確定性。股價受到多種因素的影響,包括市場情緒、經濟變化、公司業績等等。無論我們選擇哪種投資策略,都無法完全消除風險。因此,我們應該保持謹慎並建立風險管理機制,以應對不可預見的市場變動。

本次實作程式碼可以提供更快速和準確的分析結果,但我們也應該謹慎處理數據,確保使用的資訊和指標是可靠和有效的。適當的數據分析和研究是做出明智的投資決策的基礎。

總結而言,損失規避是投資中的一個重要議題,而使用自動化交易可以幫助我們實現這一目標。然而,我們需要根據自身情況和市場環境選擇合適的策略,並謹慎管理風險。這樣才能在投資中達到更穩健的結果。

完整程式碼

延伸閱讀

相關連結

給我們鼓勵
之後會持續分享更多財金資料庫的應用
如果你的覺得今天的文章不錯,可以幫我們在下面的 掌聲 icon 點 1下
如果覺得超讚,可以按住 掌聲 icon 不放直到 50 下
有任何想法歡迎點選 留言 icon和我們討論

--

--

TEJ 台灣經濟新報
TEJ-API 金融資料分析

TEJ 為台灣本土第一大財經資訊公司,成立於 1990 年,提供金融市場基本分析所需資訊,以及信用風險、法遵科技、資產評價、量化分析及 ESG 等解決方案及顧問服務。鑒於財務金融領域日趨多元與複雜,TEJ 結合實務與學術界的精英人才,致力於開發機器學習、人工智慧 AI 及自然語言處理 NLP 等新技術,持續提供創新服務