Saturday, July 24, 2021

Машин сургалтын (AI) аргыг ашиглан хөрөнгийн зах зээлийнхувцааны үнийг урьдчилан таамаглав


Хиймэл оюуны нэг хэлбэр болох машин сургалтын ололт амжилтыг судалснаар хөрөнгийн зах зээлийг хөгжүүлэх, хөрөнгө оруулагчдад ухаалаг хөрөнгө оруулалт хийх боломжийг нэмэгдүүлэх ач холбогдолтой. Хөрөнгө оруулалт, машин сургалтын алгоритмуудыг онолыг түвшинд судалсан. Хөрөнгийн зах зээлд 2017 оноос хойш гарсан дотоодын арван компани сонгон авч “шийдвэрийн мод”, “шугаман регресс”, “SVM” аргуудаар таамаглал хийж бодит ханштай хариуцуулан хийсэн. Үүнээс “шийдвэрийн мод”, SVM арга илүү сайн ажиллаж байгааг эмпирикээр нотоллоо. 

Судалгааны асуудал: Хувьцааны хөрөнгө оруулалтын чухал сорилтуудын нэг ньханшийг урьдчилан таамаглах. Хувьцааны ханш динамик учраас таамаглахад хэцүү. Машин сургалтаар таамаглах олон арга,алгоритм байгаа боловч манай улсад нарийн судалсан судалгаа дутмаг, хэрэглээний төвшинд төдийлөн ашиглахгүй байна. 

Судалгааны зорилго: Машин сургалтын арга, алгоритмийг судалдах, түүнийг ашиглан хувцааны үнийг таамаглан хариулцахад судалгааны зорилго оршино. 

Судалгааны зорилт: Машин сургалтын алгоритмыг судлах дотоодод судлагдаагүй алгоритмыг сонгохс Машин сургалтын алгоритм ашиглан технологийн компаний хувьцаа дээр таамаглал хийх. Үр дүн харьцуулан, алдааг хэмжих 

Судалгааны хамрах хүрээ: 2017 оноос хойш монголын хөрөнгийн бирж дээр гарсан арван компанийг 5 аргаар таамаглал дэвшүүлнэ. 

Судалгааны таамаглал 

  •  Гадны биржийн таамаглал алдаа бага гарах
  • COVID шалтгаалан таамаглал алдаа их гаргах
  • Сонгосон алгоритмууд хоорондоо өндөр зөрүү гаргахгүй байх ойролцоо таамаглах 

2.Машин сургалтын өнөөгийн байдал

                                                                          (Marsden, 2017)

3.1 Судалгааны дизайн

Эх сурвалж: Судлаачийн тооцоолол

3.2 Ашигласан програм хангамжууд

Ашигласан програм Колаб

Колаборатори буюу товчлон хэлбэл “Colab” нь Google Research компанийн бүтээгдэхүүн юм. Colab нь дурын питон кодыг хөтөчөөр дамжуулан бичих, гүйцэтгэх боломжийг олгодог бөгөөд ялангуяа машин сургах, өгөгдөлд дүн шинжилгээ хийх, боловсруулахад маш тохиромжтой байдаг. Техникийн хувьд Colab бол Jupyter тэмдэглэлийн дэвтэрийн үйлчилгээ бөгөөд ашиглахад тохиргоо шаарддаггүй бөгөөд GPU зэрэг тооцоолох нөөцөд үнэгүй нэвтрэх боломжийг олгодог.

4.1 Шинжилгээний үр дүн

ЛэндМН ББСБ ХК-ний  2018 оны 3-р сарын 14-наас 2021 оны 4-р сарын 16 хүртэлх 777 өгөгдлийг ашиглан таамаглал хийлээ.

Эх сурвалж: Судлаачийн тооцоолол

Эх сурвалж: Судлаачийн тооцоолол

4.2  Загварын үр дүн

Eviews програм дээр хийсэн тооцо
Эх сурвалж: Судлаачийн тооцоолол

Шийдвэрийн мод”, “шугаман регресс”, “SVR” аргуудаар таамаглал хийж бодит ханштай хариуцуулан хийсэн. “Шийдвэрийн мод” 39%, шугман регресс 30% , SVR polynomial 59%, SVR Linear 61%, SVR RBF загвар 88% таамагласан. Үүнээс SVR аргууд илүү сайн таамаглаж байна.


Дүгнэлт 

Монголын хөрөнгийн зах зээлд 2017 оноос хойш гарсан дотоодын арван компани сонгон авч шийдвэрийн мод,шугаман регресс”, “SVM”  аргуудаар таамаглал хийж бодит ханштай хариуцуулан хийсэн. . “Шийдвэрийн мод” 39%, шугман регресс 30% , SVR polynomial 59%, SVR Linear 61%, SVR RBF загвар 88% таамагласан. Үүнээс SVR аргууд илүү сайн таамаглаж байна.

Граэм тодорхойлтоор хөрөнгө оруулалтын гэдэг бүрэн шинжмилгээ хийж оруулсан хөрөнгөө хамгаалж, хангалттай ашиг хийх гэсэн байдаг. Үүнээс зөвхөн машин сургалтын аргаар таамаглах нь хангалтай биш бөгөөд суурь шинжилгээтэй хослуулж хөрөнгө оруулалтын шийдвэр гаргах хэрэгтэй.


Санал зөвлөмж

  • Суурь шинжилгээ машин сургалт хосолсон шинжилгээ хийж үр дүн харьцуулах
  • Хөрөнгө оруулалтад ашиглах машин сургалтын алгоритм дээр суурилсан хэрэглэхэд амар хялбар вэб, мобайл аппликеин хөгжүүлбэл илүү практик ач холбогдолтой
  •  Машин сургалтын аргаар зөвхөн хувьцааны ханш таамаглах биш зээлийн зэрэглэл, алтны ханш, газрын тосны ханш, валютын ханш, крипто валютын ханш, байгууллагын борлуулалтыг таамаглах боломжтой.

Дэлгэрэнгүй үзэхийг хүсвэл энд дарна уу


Хасвралт 1 Python хэл дээр шуграм регресс, шийдвэрийн модны загвараар бичсэн код

#1.Програм ашигласан сангууд дуудав

import numpy as np

import pandas as pd

from sklearn.svm import SVR

from sklearn.tree import DecisionTreeRegressor

from sklearn.linear_model import LinearRegression

from sklearn.model_selection import train_test_split

import matplotlib.pyplot as plt

plt.style.use('bmh')

 

#2.Өгөгдөл оруулах хэсэг

from google.colab import files

uploaded=files.upload()

 

#3 Оруулсан өгөгдлөө уншив

df = pd.read_csv('Lendl.csv')

df.head(777)

 

 #4 Оруулсан өгөгдлөө тоолов

df.shape

 

#5 Оруулсан өгөгдлөөрөө график зурав

plt.figure(figsize=(30,10))

plt.title("Lend ХК")

plt.xlabel('Өдөр')

plt.ylabel('Хаалтын ханш төгргөөр (₮)')

plt.plot(df['Haalt'])

plt.show()

 

#6 Хаалтын ханшийг массивд хийв

df = df[['Haalt']]

dfr =np.array(df)

df.head(777

print(dfr)

 

#7 Таамаглах өдрөө 50 гэж зарлав

future_days=50

 

#8 Өгдөлөөс таамаглах өдрөө хасаж шинэ багана үүсгэв

df['Prediction']=df[['Haalt']].shift(-future_days)

df.tail(777)

 

#9 хувсагчид массив болгов.

X =np.array(df.drop(['Prediction'],1))[:-future_days]

print(X)

#10 массив болгов

y = np.array(df['Prediction'])[:-future_days]

print(y)

 

#11 Өгөгдлөө 75% сургаж 25% тест хийхээр хуваав

x_train, x_test, y_train, y_test=train_test_split(X,y, test_size=0.25)

 

#12 Моделуудаа үүсгэв

#descion tree regressor model

tree= DecisionTreeRegressor().fit(x_train, y_train)

#linear regressor model

lr=LinearRegression().fit(x_train,y_train)

#13 Сүүлийн мөрүүдийг авав

x_future=df.drop(['Prediction'],1)[:-future_days]

x_future=x_future.tail(future_days)

x_future=np.array(x_future)

x_future

#14 Таамаглалуудаа гаргаж авав

tree_prediction =tree.predict(x_future)

print(tree_prediction)

print()

lr_prediction=lr.predict(x_future)

print(lr_prediction)

print()

#15 Өгөгдлийг дүрслэх

predictions=tree_prediction

 

valid=df[X.shape[0]:]

valid['Predictions'] = predictions

plt.figure(figsize=(16,8))

plt.title('Lend ХК /Шийдвэрийн модны загвар/')

plt.xlabel('Өдөр')

plt.ylabel('Хаалтын ханш төгргөөр (₮)')

plt.plot(df['Haalt'])

plt.plot(valid[['Haalt','Predictions']])

plt.legend(['Ханш','Бодит','Таамаглал'])

plt.show

 

predictions=lr_prediction

valid=df[X.shape[0]:]

valid['Predictions'] = predictions

plt.figure(figsize=(16,8))

plt.title('Lend ХК /Шугаман регресс/')

plt.xlabel('Өдөр')

plt.ylabel('Хаалтын ханш төгргөөр (₮)')

plt.plot(df['Haalt'])

plt.plot(valid[['Haalt','Predictions']])

plt.legend(['Ханш','Бодит','Таамаглал'])

plt.show

 

 

 

Хасвралт 2 Python програм дээр SRV загвараар бичсэн код

#1 Сан дуудаж оруулав

from sklearn.svm import SVR

import numpy as np

import pandas as pd

import matplotlib.pyplot as plt

plt.style.use('seaborn-darkgrid')

 

#2 Өгөгдлөө уншив

df=pd.read_csv("el.csv")

df

 

#3 Оруулсан өгөгдлөө тоолов

df.shape

 

#4 Сүүлийн өдрийн ханш

actual_price=df.tail(1)

actual_price

 

#5 Өгөгдлөө бэлдэв

df=df.head(len(df)-1)

print(df)

 

#6 Жагсаалт үүсгэв

days = list()

adj_close_prices = list()

 

#7 Жагсаалтанд өгөгдлөө оруулав

df_days = df.loc[:, 'Dug']

df_adj_close = df.loc[:, 'Adj Close**']

 

#8 Жагсаалтанд өдрөө давталтаар  оруулав

for day in df_days:

   days.append( [int (day)] )

#9 Жагсаалтанд ханшаа давталтаар  оруулав

for adj_close_price in df_adj_close:

   adj_close_prices.append( float(adj_close_price) )

 

#10 SVR zagvaraar surgav

lin_svr = SVR(kernel='linear', C=1000.0)

lin_svr.fit(days,adj_close_prices)#Create and train an SVR model using a polynomial kernel

poly_svr = SVR(kernel='poly', C=1000.0, degree=2)

poly_svr.fit(days, adj_close_prices)#Create and train an SVR model using a RBF kernel

rbf_svr = SVR(kernel='rbf', C=1000.0, gamma=0.15)

rbf_svr.fit(days, adj_close_prices)

 

 

# Өгөгдлийг дүрслэх

plt.figure(figsize=(16,8))

plt.scatter(days, adj_close_prices, color = 'black', label='Original Data')

plt.plot(days, rbf_svr.predict(days), color = 'green', label='RBF Model')

plt.plot(days, poly_svr.predict(days), color = 'orange', label='Polynomial Model')

plt.plot(days, lin_svr.predict(days), color = 'purple', label='Linear Model')

plt.xlabel('Days')

plt.ylabel('Adj Close Price')

plt.title('Support Vector Regression')

plt.legend()

plt.show()

 


No comments:

Post a Comment

Мөнгөн шөнөөр

  Мөнгөн шөнөөр би холын холыг зорино Мөрөөдлөө хүүдээ үлдээчихээд аниргүйн гэгээнд уусна Ийм аялалаа бодохоор сэтгэл нэг л дэнслээд Ирж буй...