Final Report for CS5611
(Fuzzy Sets: Theory and Applications)

李睿中 R.J.Li (g853901) 陳建呈 C.D.Chen(g853905) 賴漢倫 H.L.Lai (g853906)


Table of Contents

Abstract Problem Definition Data Set Description Our Approach
Simulation Results Conclusions Computer Programs Division of labor
References


Abstract

This report describes our attempt to apply ANFIS (Adaptive Neuro-Fuzzy Inference
 Systems) for the prediction of stock market.

本 Fuzzy Model 的重點放在預測各股票上市公司其股票長期投資的發展能力。由於不鼓 勵股市的短線炒作,以及影響短線因素的過度複雜,在預測上有其困難處。 因此,本 Fuzzy Model 不做股市的短期預測。

Problem Definition

假設在某股票市場的環境下,共有20家股票上市公司。在長期投資的前提下,藉由各股票
上市公司所公開的營運狀況資料,可推算出 C, A, N, S, L, I 等六個指標參數。
本 Fuzzy Model 將根據各股票上市公司的 C, A, N, S, L, I 等六個指標參數,為各公
司股票未來的發展潛能評分並排序,輸出建議購買股票的優先順序,做為投資者的購股
參考。

Data Set Description

         Input 1: C-當季每股盈餘(Current Quarterly Earnings Per Share) 
         Input 2: A-年度每股盈餘成長率(Annual Earnings Increases) 
         Input 3: N-新創意或新領導階(New High) 
         Input 4: S-供給與需求(Supply and Demand) 
         Input 5: L-領導股(Leader or Laggard) 
         Input 6: I -專業投資機構的認同(Institutional Sponsorship)
         Output: 

Approach

Our approach to this problem can be explained in three aspects: 
  • Input Selection: 根據台灣證券交易所公佈的各股票上市公司的營運狀況及市場交易情形,推算得到 C, A, N, S, L, I 六個指標參數做為輸入。
  • Expert's rule: 根據威廉•歐尼爾先生的理論,以及專家的經驗,C, A, N, S, L, I 六個指標參數 的重要性有依序遞減的特性。為了符合專家的經驗以及方便程式的設計,經過了多 次測試本 Model 決定了以下64個 Rules: The linguistic set {CH,AH,NH,SH,LH,IH,CL,AL,NL,SL,LL,IL} is chosen, where C, A, N, S, L, I are six inputs used, and H, L denote high and low, respectively. Rule1: If CH, AH, NH, SH, LH, IH, then f1 = 0.6C + 0.2A + 0.1N + 0.05S + 0.03L + 0.02I Rule2: If CH, AH, NH, SH, LH, IL, then f2 = 0.6C + 0.2A + 0.1N + 0.05S + 0.03L + 0I Rule3: If CH, AH, NH, SH, LL, IH, then f3 = 0.6C + 0.2A + 0.1N + 0.05S + 0L + 0.02I . . . Rule64: If CL, AL, NL, SL, LL, IL, then f64= 0C + 0A + 0N + 0S + 0L + 0I
  • Output grade: 本 Model 輸出為各股票整體方面表現的指標分數,在經過排序做為投資者的參考。 分數愈高,表示本股票前景愈好。投資者可參考各股的輸出分數,選擇自己有興趣有 能力購買的股票。通常分數在 80 分以上的股票都是不錯的選擇。

Simulation Results

  • Data Preprocessing:
  • 本 Fuzzy Model 的模擬假設 C, A, N, S, L, I 六個指標參數已換算完畢。直接 採用笑傲股市週報已換算得到的 C, A, N, S, L, I 六個指標參數。
  • Input Selection:
  • 由笑傲股市週報所提供的各股資訊,選擇20家上市股票,令其股票名稱為 1~20, 將它們的 C, A, N, S, L, I 六個指標參數寫入程式所需要的輸入矩陣:
  • ANFIS Structure:
  •    2-input 2-rules ANFIS as an Example:
          
       6-input 64-rule ANFIS :
          In factor, this structure can be extended to n-input 2^n-rule ANFIS,
          such as 5-intput 32-rule ANFIS or 7-input 128-rule ANFIS.
    
       Membership function :
          Because the linguistic set {CH,AH,NH,SH,LH,IH,CL,AL,NL,SL,LL,IL} is
          chosen, we must have 12 membership function. We deside to use sig_function
          as our membership function. 
    
          For example, the membership functions for CH and CL are:
          membership function for CH:
          membership function for CL:
    
  • Training method:
  • 由於時間的限制以及程式設計的困難,再加上股市預測的結果無絕對性,因此 ANFIS的架構以及模型的參數乃是經過人為不斷調整,調整到感覺已經得到不錯的輸出, 確定出目前的架構與參數。
  • Output result:
  • 經由 Model 的計算,預測的結果表示在輸出矩陣中,各股輸出分數的長條圖:
    
    

Concluding Remarks and Future Work

  • Concluding Remarks:
    從這次final project中,我們學習到了以ANFIS的架構來分析並預測個股未來的
    發展潛力。本project主要特色在於經過大量的資料庫運算後,能提供相當有效的
    參考指標,以篩選出可供投資的參考個股;在經過程式的判斷,使投資人更容易
    縮小可供投資的參考個股範圍,進一步確認良好的投資目標。

  • Future Work: 由於時間的限制,模型的參數乃是經過人為不斷調整。未來本組研究的方向乃在於 建立更精確的 Model (rule) 以及使程式擁有 on-line parameters training的功能。
  • Computer Programs

    2. Call the main_function, for example:

    3. Get the output matrix(output_mat), and choose your favorite stock.

  • 測試例在 MATLAB 5.0 中直接打 fanal 即可。
  • Division of Labor

    References