Избранное трейдера Vitastic
Наверное многие боятся слова инвестиции, но вам надо побыть инвестором всего около 5 дней и опять забыть это страшное слово!
Суть: вы инвестируете в сбере 15000 руб, через примерно 5 дней, возвращаете на банковскую карту 18000 руб (с учетом налога 17610 руб). И можете забыть навсегда о инвестициях.
Возврат реально работает, мои близкие родственники и друзья уже получили кэшбэк! Но есть подводные камни, поэтому дочитайте до конца!
Возврат легко делается в мобильном приложение сбера или на сайте сбера онлайн. Брокерский счет открывать не надо, процедура займет около 5 рабочих дней.
Начну с того, что инвестициями я уже занимаюсь около 5 лет, кто-то скажет не много. Но я к тому, что с инвестициями в сбере я знаком, и эта акция не вызвала у меня никакого сомнения.
Какой Кхал аналитик не мечтает покрыть весь мир…
У меня регулярно спрашивают, инвестирую ли я в иностранные акции, и если нет, то почему? Обычно отвечаю, что у меня нет компетенций по ним (возможно, сейчас их стало побольше, я анализировал уже иностранные акции) либо просто не интересно.
Зачем мне казахстанские или бразильские акции, если есть российский рынок!? Где всё-таки более понятно. Хотя я уже несколько раз смотрел на акции стран бывшего СССР ранее, (например, обзор в 2013 году по всем рынкам бывшего СССР в FOстр.16). Еще Грузия, Казахстан, Украина и т.д. Стоит всё обновить.
А если говорить про развитые рынки, то после наших компаний там казалось всё дорого. Хотя зачастую, дорогое становится только дороже!
БЕСПЛАТНЫЙ робот на освоение которого нужно потратить несколько часов времени. Зарабатывающий десятилетиями.
Качаем: https://o-s-a.net/market/item/20
Графики эквити выглядят вот так:
Рис.1
Для анализа будем использовать данные ETF c базовой валютой USD: FXCN, FXRL, FXIT, FXUS и FXRU. Временной ряд рассмотрим за три года с 2018 по 2020 года. Само исследование проведем в Google Colaboratory.
Как обычно в начале импортируем все необходимые библиотеки для дальнейшей работы.
import pandas as pd import numpy as np import matplotlib.pyplot as plt from google.colab import files import warnings warnings.filterwarnings("ignore")Сначала необходимо получить данные. Есть несколько способов. Мы воспользовались — взяли их с Finam в формате csv. Дальше написал функцию для обработки полученных данных и при помощи concat свел их в один датафрейм.
def changeDF(df): df['date'] = pd.to_datetime(df['<DATE>'].astype(str), dayfirst=True) name =[x for x in globals() if globals()[x] is df][0] df = df.drop(['<DATE>','<TIME>', '<OPEN>', '<HIGH>', '<LOW>'], axis=1) df = df.set_index(['date']) df.columns = [name+'_cl', name + '_vol'] return df fxgd_change = changeDF(fxgd) fxrl_change = changeDF(fxrl) fxit_change = changeDF(fxit) fxus_change = changeDF(fxus) fxru_change = changeDF(fxru) fxcn_change = changeDF(fxcn) etf = pd.concat([fxgd_change, fxrl_change, fxit_change, fxus_change, fxru_change, fxcn_change], axis=1) etf.head()В результате получили:
import sqlite3 as sql from scipy.stats import logistic import math import numpy as np import numpy.random as rnd import matplotlib.pyplot as plt from sklearn.neural_network import MLPRegressor sdata =[] sql1= "select ticker, date, open, high, low, close, vol \ from Hist_1m where ticker_id=1 order by Date;" con=sql.connect('C:/Users/ubase/Documents/StockDB/StockDB21.sqlite') cur=con.cursor() cur.execute(sql1) sdata=cur.fetchall() con.commit() con.close() Ldata = len(sdata) N = 8000 # Количество сделок ld = 5 #Продолжительность сделки NNinterval = 20 # Количество входов NN # Генерация случайных чисел rng = rnd.default_rng() rm=rng.integers(0, Ldata, N ) class Candle: tr = 0 dt = 1 o = 2 h = 3 l = 4 c = 5 v = 6 cl = Candle DataC =[sdata[i][cl.c] for i in range(0,Ldata)] # sigmoid линейность до 0.5 def sigmoidnorm(x, alfa = 0.9, xmin = -1.3, xmax = 1.3): return (xmax - xmin)*((1 / (1 + math.exp(-x*2.0*alfa))) - 1.0) + xmax x = [0.002 * i - 3 for i in range(0,3000)] y = [sigmoidnorm(x[i]) for i in range(len(x))] plt.plot(x,y) plt.grid() plt.show() # формируем сделки. def DealsGenL(rm,ld): #Lm = len(rm) ix = [] x = [] pr = [] for i in range(0,N): if rm[i] + ld < Ldata and rm[i] - NNinterval - 1 > 0: delta = (sdata[rm[i]+ld][cl.c] - sdata[rm[i]][cl.c])/sdata[rm[i]+ld][cl.c]*100 x0 = [sigmoidnorm((sdata[rm[i] - j][cl.c] - sdata[rm[i]][cl.c])/sdata[rm[i]][cl.c]*100) \ for j in range(0, NNinterval)] ix.append(rm[i]) x.append(x0) pr.append(delta) return ix, x, pr Ix, X, Pr = DealsGenL(rm,ld) Ib = 0 Ie = 100 plt.plot(X) plt.legend() plt.grid() plt.show() plt.plot(Pr, label = 'Prof') plt.legend() plt.grid() plt.show() regr = MLPRegressor(hidden_layer_sizes = [30,20,15,10,5], \ max_iter=500, activation = 'tanh') regr.fit(X, Pr) Out = regr.predict(X) plt.plot(Pr, Out, '.') plt.grid() plt.show()И вот результат прогнозирования: