3.3 Метод случайного леса (Random Forest)
Случайный лес -- один из наиболее распространённых методов машинного обучения. Он сочетает в себе метод бэггинга (технология классификации, при которой каждый из алгоритмов обучается независимо) и метод случайных подпространств (базовые алгоритмы обучаются на различных подмножествах признакового описания (признаковое описание - вектор, составленный из значений, не обязательно числовых, соответствующих некоторому набору признаков для данного объекта), которые выделяются случайным образом. При анализе с помощью алгоритма случайного леса были выявлены наиболее значащие параметры, которые приведены ниже на Рис.2.
Рис. 2 10 наиболее значимых параметров при Random Forest
Мы можем наблюдать, что опять наибольшую значимость имеет параметр earning yield. Также другой стоимостной показатель, показывающий состояние начисленного расхода (accruals), имеет сильное влияние. Sloan Ratio = (Net Income - CFO - CFI) / Total Assets
После прогнозирования методом случайного леса мы получили матрицу ошибок (Таблица 6) и описательную статистику (Таблица 7). Исходя из этой информации, мы видим, что данный алгоритм дает наибольшую точность среди изученных моделей. Этот показатель доходит до 87,59%. Такие результаты очевидны, так как данный метод в большинстве случаев демонстрирует наибольшую точность, но не может объяснить такие высокие показатели. Метод случайного леса прогнозирует доходность акций в 58,05%.
Таблица 6
Матрица ошибок при Random Forest Classification
|
Reference |
|||
|
Prediction |
win |
lose |
|
|
win |
305 |
61 |
|
|
lose |
33 |
233 |
Таблица 7
Статистика по результатам прогноза Random Forest Classification
|
Accuracy |
0.8513 |
|
|
95% CI |
(0.8211, 0.8781) |
|
|
No Information Rate |
0.5348 |
|
|
P-Value [Acc > NIR] |
< 2.2e-16 |
|
|
Kappa |
0.6992 |
|
|
Mcnemar's Test P-Value |
0.005355 |
|
|
Sensitivity |
0.7925 |
|
|
Specificity |
0.9024 |
|
|
Pos Pred Value |
0.8759 |
|
|
Neg Pred Value |
0.8333 |
|
|
Prevalence |
0.4652 |
|
|
Detection Rate |
0.3687 |
|
|
Detection Prevalence |
0.4209 |
|
|
Balanced Accuracy |
0.8474 |
3.4 Нейронные сети (Neural Networks)
Нейросети (нейронные сети) - это последовательность нейронов и связей между ними. Эти связи - каналы, через которые нейроны принимают или отправляют информацию, при чем у каждой связи имеется единственный параметр - вес («прочность» связи). Задача нейронов - собрать числа со всех своих входов, выполнить функцию над ними и отправить результат на выход. При этом данные идут строго в одном направлении - от входов первого слоя нейронов к выходу последнего нейрона. Используя метод нейронных сетей при машинном анализе, мы получили графическую интерпретацию объясняющих параметров (Рис.3). Специфика метода состоит в том, что при анализе учитываются скрытые переменные, влияющие на объясняемую переменную. Было задано два таких «слоя» с семью нейронами в каждом. Этот алгоритм предсказал лишь 51,11% (Таблица 9) от общего числа «победителей» в тестовой выборке. То есть 323 из 632 (Таблица 8). Такое объясняется одним из недостатков этого метода, который не позволяет пошагово решать одну и ту же последовательную задачу. Нейросети лишь могут помочь увеличить точность будущего значения, но не предсказать его. Поэтому среднее значение предсказанной доходности акций равное 61,78% не так точно отражает реальность, как другие модели.
Рис 3. Графическая интерпретация анализа данных с помощью нейронных сетей
Таблица 8
Матрица ошибок при Neural Networks
|
Reference |
|||
|
Prediction |
win |
lose |
|
|
win |
197 |
168 |
|
|
lose |
141 |
126 |
Таблица 9
Статистика по результатам прогноза Neural Networks
|
Accuracy |
0.5111 |
|
|
95% CI |
(0.4713, 0.5507) |
|
|
No Information Rate |
0.5348 |
|
|
P-Value [Acc > NIR] |
0.8917 |
|
|
Kappa |
0.0115 |
|
|
Mcnemar's Test P-Value |
0.1391 |
|
|
Sensitivity |
0.4286 |
|
|
Specificity |
0.5828 |
|
|
Pos Pred Value |
0.4719 |
|
|
Neg Pred Value |
0.5397 |
|
|
Prevalence |
0.4652 |
|
|
Detection Rate |
0.1994 |
|
|
Detection Prevalence |
0.4225 |
|
|
Balanced Accuracy |
0.5057 |
Итак, мы протестировали 4 метода машинного обучения для анализа и прогнозирования - метод опорных векторов (SVM), boosted Logistic Regression, метод случайного леса (Random Forest) и нейронные сети (Neural Networks). Все модели продемонстрировали хорошие результаты. Модель случайных лесов и опорных векторов показывают наибольшую точность 85,13% и 64,72% соответственно.
Заключение
В результате исследования мы видим, что бухгалтерская информация позволяет спрогнозировать доходность акций. Финансовые показатели помогают определить фирму как «победителя» с доходностью выше средней по индексу рынка.
Данная работа в ходе анализа зарубежной литературы выявила финансовые показатели, объясняющие изменения доходности акций, и использовала их при выборе модели прогнозирования. Современное общество стремиться автоматизировать многие процессы, поэтому методом прогнозирования и анализа был выбран метод машинного обучения. Рынок не всегда успевает своевременно отреагировать на финансовую информацию компаний, поэтому чтобы увеличить прибыль стоит использовать машинные методы анализа и прогнозирования для более быстрого результата. В исследовании сравнивались различные методы - метод опорных векторов (SVM), boosted Logistic Regression, метод случайного леса (Random Forest) и нейронные сети (Neural Networks). В итоге анализа базы данных развивающейся фондовой биржи Таиланда были обучены и протестированы алгоритмы. Наибольшую точность прогноза показал метод случайного леса (85,13%).
Итак, цель работы выполнена: алгоритм позволяет выявить акции, привлекательные для инвесторов, и предсказать их доходность исходя из бухгалтерской информации для получения сверхприбыли. По итогам тестирования модель рассчитала среднюю доходность портфеля акций «победителей» на уровне 58,05% при том, что средняя доходность индекса биржи составляет 21,19%.
Подводя итоги, стоит сказать, что фундаментальный анализ финансового состояния компаний при помощи машинного обучения может помочь инвесторам составлять более сбалансированные и прибыльные портфели. При внедрении новых технологий следует больше времени уделять обучению роботов. В дальнейших исследованиях хотелось бы применить более сложные спецификации машинного обучения, которые сейчас недоступны для нас.
Список литературы
1. Abarbanell, J., & Bushee, B. (1998). Abnormal Returns to a Fundamental Analysis Strategy. The Accounting Review, 73(1), 19-45.
2. Alexakis, C., Patra, T., Poshakwale, S. (2010). Predictability of Stock Returns using Financial Statement Information: Evidence on Semi-strong Efficiency of Emerging Greek Stock Market. Applied Financial Economics, 20(16), 1321-1326.
3. Atanasov, T. (2017). Using Accounting Information to Forecast Market Performance. Honors Research Projects, 414.
4. Ball, R., Gerakos, J., Linnainmaa, J.T., Nikolaev, V. (2016). Accruals, cash flows, and operating profitability in the cross section of stock returns. Journal of Financial Economics, 121, 28-45.
5. Brennan, M.J. (1991). A Perspective on Accounting and Stock Prices. The Accounting Review, 66(1), 67-79.
6. Chen, P., Zhang, G. (2007). How do accounting variables explain stock price movements? Theory and evidence. Journal of Accounting and Economics, 43, 219-244.
7. Goslin, J., Chai, D., Gunasekarage, A. (2012). The Usefulness of Financial Statement Information in Predicting Stock Returns: New Zealand Evidence. Australasian Accounting, Business and Finance Journal, 6(2), 51-70.
8. Hargreaves, C.A., Reddy, V.C., Reddy, R.V. (2017). Machine learning application in the financial markets industry. Indian Journal of Scientific Research, 17(1), 253-256.
9. Kourtis, G.P., Кourtis, E.P., Kourtis, M.P., Curtis, P.G. (2017). Fundamental Analysis, Stock Returns and High B/M Companies. International Journal of Economics and Business Administration, 4, 3-18.
10. Liu, J., Thomas, J. (2000). Stock Returns and Accounting Earnings. Journal of Accounting Research, 38(1), 71-101.
11. Noma, M. (2010). Value investing and financial statement analysis. Hitotsubashi Journal of Commerce and Management, 44, 29-46.
12. Ou, J.A., Penman, S.H. (1989). Financial Statement Analysis and the Prediction of
13. Stock Returns. Journal of Accounting and Economics, 11, 295-330
14. Patra T., Poshakwale, S. (2008). Long-run and Short-run Relationships between the Main Stock Indexes: Evidence from the Athens Stock Exchange. Applied Financial Economics, 18, 1401-1410.
15. Piotroski, J. (2000). Value investing: The use of historical financial statement information to separate winners from losers. Journal of Accounting Research, 38, 1- 41.
16. Sohnke, M.B., Grinblatt, M. (2017). Fundamental analysis works.
17. Lev, B., Thiagarajan, R. (1993) Fundamental Information Analysis. Journal of Accounting Research, 31, 190-214.
18. Yang, L. (2018). Predicting Stock Market Returns with an Accounting Factor. Journal of University of Southern California.
Приложение
## [1] ".id"
## [2] "symbol"
## [3] "i"
## [4] "revenue"
## [5] "costofgoodssold"
## [6] "grossprofit"
## [7] "grossmargin"
## [8] "sellinggeneraladminexpense"
## [9] "advertising"
## [10] "researchdevelopment"
## [11] "otheroperatingexpense"
## [12] "operatingincome"
## [13] "operatingmargin"
## [14] "interestincome"
## [15] "interestexpense"
## [16] "netinterestincome"
## [17] "otherincomeexpense"
## [18] "otherincomeminorityinterest"
## [19] "pretaxincome"
## [20] "taxprovision"
## [21] "taxrate"
## [22] "netincomecontinuingoperations"
## [23] "netincomediscontinuedoperations"
## [24] "netincome"
## [25] "netmargin"
## [26] "preferreddividends"
## [27] "epsbasic"
## [28] "epsdiluted"
## [29] "sharesoutstandingdilutedaverage"
## [30] "depreciationdepletionandamortization"
## [31] "ebitda"
## [32] "cashandcashequivalents"
## [33] "marketablesecurities"
## [34] "cashcashequivalentsmarketablesecurities"
## [35] "accountsreceivable"
## [36] "inventoriesrawmaterialscomponents"
## [37] "inventoriesworkinprocess"
## [38] "inventoriesinventoriesadjustments"
## [39] "inventoriesfinishedgoods"
## [40] "inventoriesother"
## [41] "totalinventories"
## [42] "othercurrentassets"
## [43] "totalcurrentassets"
## [44] "investmentsandadvances"
## [45] "landandimprovements"
## [46] "buildingsandimprovements"
## [47] "machineryfurnitureequipment"
## [48] "constructioninprogress"
## [49] "grosspropertyplantandequipment"
## [50] "accumulateddepreciation"
## [51] "propertyplantandequipment"
## [52] "intangibleassets"
## [53] "goodwill"
## [54] "otherlongtermassets"
## [55] "totalassets"
## [56] "accountspayable"
## [57] "totaltaxpayable"
## [58] "otheraccruedexpense"
## [59] "accountspayableaccruedexpense"
## [60] "currentportionoflongtermdebt"
## [61] "currentdeferredrevenue"
## [62] "currentdeferredtaxesliabilities"
## [63] "deferredtaxandrevenue"
## [64] "othercurrentliabilities"
## [65] "totalcurrentliabilities"
## [66] "longtermdebt"
## [67] "capitalleaseobligation"
## [68] "debttoequity"
## [69] "pensionandretirementbenefit"
## [70] "noncurrentdeferredliabilities"
## [71] "minorityinterest"
## [72] "otherlongtermliabilities"
## [73] "totalliabilities"
## [74] "commonstock"
## [75] "preferredstock"
## [76] "retainedearnings"
## [77] "accumulatedothercomprehensiveincomeloss"
## [78] "additionalpaidincapital"
## [79] "treasurystock"
## [80] "totalequity"
## [81] "totalequitytototalasset"
## [82] "netincome.1"
## [83] "netforeigncurrencyexchangegain"
## [84] "netincomefromcontinuingoperations"
## [85] "depreciationdepletionandamortization.1"
## [86] "changeinreceivables"
## [87] "changeininventory"
## [88] "changeinprepaidassets"
## [89] "changeinpayablesandaccruedexpense"
## [90] "changeinworkingcapital"
## [91] "changeindeferredtax"
## [92] "stockbasedcompensation"
## [93] "cashflowfromdiscontinuedoperations"
## [94] "cashflowfromothers"
## [95] "cashflowfromoperations"
## [96] "purchaseofpropertyplantequipment"
## [97] "saleofpropertyplantequipment"
## [98] "purchaseofbusiness"
## [99] "saleofbusiness"
## [100] "purchaseofinvestment"
## [101] "saleofinvestment"
## [102] "netintangiblespurchaseandsale"
## [103] "cashfromdiscontinuedinvestingactivities"
## [104] "cashfromotherinvestingactivities"
## [105] "cashflowfrominvesting"
## [106] "issuanceofstock"
## [107] "repurchaseofstock"
## [108] "netissuanceofpreferredstock"
## [109] "netissuanceofdebt"
## [110] "cashflowfordividends"
## [111] "otherfinancing"
## [112] "cashflowfromfinancing"
## [113] "netchangeincash"
## [114] "capitalexpenditure"
## [115] "freecashflow"
## [116] "peratiottm"
## [117] "pricetobook"
## [118] "pricetotangiblebook"
## [119] "pricetofreecashflowratio"
## [120] "pricetooperatingcashflowratio"
## [121] "psratio"
## [122] "evtorevenue"
## [123] "evtoebitda"
## [124] "evtoebit"
## [125] "earningsyieldjoelgreenblatt"
## [126] "forwardrateofreturn"
## [127] "shillerperatio"
## [128] "marketcap"
## [129] "enterprisevalue"
## [130] "monthendstockprice"
## [131] "netcashpershare"
## [132] "netcurrentassetvaluepershare"
## [133] "netnetworkingcapitalpershare"
## [134] "projectedfcfpershare"
## [135] "medianpspershare"
## [136] "peterlynchfairvaluepershare"
## [137] "grahamnumberpershare"
## [138] "earningspowervalueepv"
## [139] "altmanzscore"
## [140] "piotroskifscore"
## [141] "beneishmscore"
## [142] "sloanratio"
## [143] "higheststockprice"
## [144] "loweststockprice"
## [145] "sharesbuybackratio"
## [146] "yoyrevpershgrowth"
## [147] "yoyepsgrowth"
## [148] "yoyebitdagrowth"
## [149] "ebitda5ygrowth"
## [150] "sharesoutstandingbasicaverage"
## [151] "sharesoutstandingeop"
## [152] "beta"
## [153] "filingdate"
## [154] "restatedfilingdate"
## [155] "returnonequity"
## [156] "returnonassets"
## [157] "returnoncapitaljoelgreenblatt"
## [158] "returnoninvestedcapital"
## [159] "weightedaveragecostofcapitalwacc"
## [160] "grossmargin.1"
## [161] "operatingmargin.1"
## [162] "netmargin.1"
## [163] "debttoequity.1"
## [164] "totalequitytototalasset.1"
## [165] "ltdebttototalasset"
## [166] "assetturnover"
## [167] "dividendpayoutratio"
## [168] "dayssalesoutstanding"