Избранное трейдера Краснов Геннадий
Есть книги, которые меняют судьбы людей и страны.
Ты можешь не знать о них, пока однажды не выйдешь на одну из таких книг. И она, как пазл, соберет в себе мозаику жизни страны.
Случайно вышел на книгу Александра Бека «Волоколамское шоссе». Ну как «случайно»… Попал на нее через наводку из книги Максима Батырева «45 татуировок продавана» (рекомендую тоже).
«Волоколамское шоссе» читается на одном дыхании. Говорят, что это лучшая книга о войне. Фильм «28 панфиловцев» — о той же истории.
Книга разошлась на цитаты, которые уже вплелись в жизнь страны. Предположу, что текст песни «Комбат» группы «Любэ», который пришел ее автору неосознанно, мог родиться после прочтения именно этой книги. Слова песни совпадают с сюжетом повести.
Читая в XXI веке «Волоколамское шоссе» 1943 года, находишь другие смыслы. Проводишь параллели с книгами Карлоса Кастанеды о силе духа.
В книге есть примеры дистанционного видения:
На наших телефонах сейчас огромное количество ценной, закрытой информации, в том числе финансовой.
Рассмотрим прецедент. Телефон потерян или украден.
Надеюсь пароль на телефоне установлен? Не установивших единицы и они настоящие камикадзе.
Далее не менее ценная часть — SIM-карты. Из телефона их можно достать и вставить в другой. На SIM-карту приходят коды подтверждения. Если одновременно потеряны банковские карты – то дело совсем плохо (хотя иногда банки возбуждаются при смене телефона). Ну и поскольку сейчас очень много информации о клиентах банков, брокеров, мобильных провайдеров слито, при получении злоумышленником SIM-карты, шанс потерять деньги велик.
Помните ли вы PIN-коды своих SIM-карт? Если да, то отлично.
При перезагрузке на вашем телефоне появляется запрос
Введите PIN-код. Осталось 3 попытки.
Если нет:
Новая симка имеет PIN-код по умолчанию типа 0000 или 1234. И находится в режиме – не спрашивать PIN-код при включении телефона.
1. Что было сделано?
Была неудачная попытка переезда серверов с роботами в облако Amazon (AWS). Потому немного просели счета некоторые… Подробности по состоянию счетов ниже. Подробности про переезд, даже не знаю озвучивать или нет.
Так как проект (эксперимент по разгону) бюджетный, то хотелось бы получить за минимум средств максимум качества, посмотрел много сервисов облачных вычислений, но минимум по деньгам был примерно 800 рублей в месяц за необходимую мне конфигурацию. Это было выше бюджета и было решено воспользоваться бесплатными ресурсами, которые есть у практически всех больших сервисов: Amazon, Google, Oracle, Microsoft, даже Alibaba! Мне нужна была Windows для установки Metatrader 4. Доступ через RDP (Remote Desktop Protocol).
Почему все-таки победил Amazon? Хз, если честно. С ними было меньше всего головняка при регистрации. Завел 4 эккаунта, потому что для моих 7 счетов надо семь терминалов, а по нагрузке получается так что на один сервер от Amazon можно поставить пару терминалов. Amazon дает 1 ядро 2.2Gh + 1Gb памяти + 30Gb SSD + Windows Server 2019. Пришлось немного оптимизировать код роботов, чтобы они умещались в квоты по производительности. Итого по стоимости у меня получилось $4 на 12 месяцев. Что для данного проекта считаю очень хорошим вариантом.
Мой отец был довольно опытным вкладчиком и за десяток лет сменил множество банков, распределяя свои активы таким образом, чтобы каждый отдельный депозит был меньше суммы страхования вкладов. Но однажды каким-то ушлым менеджерам таки удалось его облапошить, продав ему Договор инвестиционного страхования от Ренессанс Жизнь. Я погрузился в подробности этих инвестиций только сейчас, став наследником. И у меня волосы шевелятся от увиденного.
Я не знаю, как его уговаривали, но некоторые идеи есть на этот счёт. Обычно он на первой странице договора, над текстом, ручкой писал дату окончания, процент, сумму и адрес. У него депозитов было много, такой способ помогал легче сориентироваться в папке. Так вот, на договоре стоит цифра 12%, значит ему эту цифру кто-то называл! В самом договоре эта цифра нигде не фигурирует.
В целом договор инвестиционного страхования это мегаподстава для тех, кто привык к депозитам. С депозитами и банковской деятельностью всё намертво зарегулировано, поэтому даже отзыв лицензии тебе не страшен — иди в любую шарашкину контору, если захочешь снять деньги раньше — просто лишишся процентов, если контора накроется- тебе вернёт деньги с уже начисленными процентами какой-нибудь сбербанк. И я и отец эту процедуру проходили раньше и уже слегка расслабились.
# В КВИКе запускаем луа-скрипт QuikLuaPython.lua import socket import threading from datetime import datetime, timezone import pandas as pd import finplot as fplt fplt.display_timezone = timezone.utc class DeltaBar(): def __init__(self): self.df = pd.DataFrame(columns='date_time open high low close delta delta_time_sec'.split(' ')) self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0] def parser(self, parse): if parse[0] == '1' and parse[1] == 'RIH1': if abs(self.df.iloc[len(self.df) - 1]['delta']) >= 500: self.df.loc[len(self.df)] = [0, 0, 0, 0, 0, 0, 0] # Добавляем строку в DF self.df.iloc[len(self.df) - 1]['close'] = float(parse[4]) # Записываем последнюю цену как цену close бара if self.df.iloc[len(self.df) - 1]['date_time'] == 0: self.df.iloc[len(self.df) - 1]['date_time'] = \ datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f").replace(microsecond=0) if self.df.iloc[len(self.df) - 1]['open'] == 0: self.df.iloc[len(self.df) - 1]['open'] = float(parse[4]) if float(parse[4]) > self.df.iloc[len(self.df) - 1]['high']: self.df.iloc[len(self.df) - 1]['high'] = float(parse[4]) if (float(parse[4]) < self.df.iloc[len(self.df) - 1]['low']) or \ (self.df.iloc[len(self.df) - 1]['low'] == 0): self.df.iloc[len(self.df) - 1]['low'] = float(parse[4]) if parse[5] == '1026': self.df.iloc[len(self.df) - 1]['delta'] += float(parse[6]) if parse[5] == '1025': self.df.iloc[len(self.df) - 1]['delta'] -= float(parse[6]) self.df.iloc[len(self.df) - 1]['delta_time_sec'] = \ datetime.strptime(f'{parse[7]} {parse[8][0:-1]}', "%d.%m.%Y %H:%M:%S.%f") - \ self.df.iloc[len(self.df) - 1]['date_time'] self.df.iloc[len(self.df) - 1]['delta_time_sec'] = self.df.iloc[len(self.df) - 1]['delta_time_sec'].seconds def service(): sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) sock.bind(('127.0.0.1', 3587)) # Хост-этот компьютер, порт - 3587 while True: res = sock.recv(2048).decode('utf-8') if res == '<qstp>\n': # строка приходит от клиента при остановке луа-скрипта в КВИКе break else: delta_bar.parser(res.split(' ')) # Здесь вызываете свой парсер. Для примера функция: parser (parse) sock.close() def update(): df = delta_bar.df # Меняем индекс и делаем его типом datetime df = df.set_index(pd.to_datetime(df['date_time'], format='%Y-%m-%d %H:%M:%S')) # print(delta_bar.df) # pick columns for our three data sources: candlesticks and TD candlesticks = df['open close high low'.split()] volumes = df['open close delta_time_sec'.split()] if not plots: # first time we create the plots global ax plots.append(fplt.candlestick_ochl(candlesticks)) plots.append(fplt.volume_ocv(volumes, ax=ax.overlay())) else: # every time after we just update the data sources on each plot plots[0].update_data(candlesticks) plots[1].update_data(volumes) if __name__ == '__main__': delta_bar = DeltaBar() # Запускаем сервер в своем потоке t = threading.Thread(name='service', target=service) t.start() plots = [] ax = fplt.create_plot('RIH1', init_zoom_periods=100, maximize=False) update() fplt.timer_callback(update, 2.0) # update (using synchronous rest call) every N seconds fplt.show()
В нынешнее время, когда рынок ценный бумаг достаточно сильно популяризован, наблюдается большой приток новых инвесторов разных категорий, чем пользуются брокеры, в лице некоторых недобросовестных менеджеров, кто руководствуется в первую очередь своими интересами (продажа высоко маржинальных продуктов, доп услуг и прочего, чтобы заработать себе лишнюю копейку в виде премии) в ущерб интересам клиентов.
Сегодня речь пойдёт о группе консервативных инвесторов, кто стремиться в первую очередь сохранить свой капитал, но в тоже время получить какую нибудь фиксированную доходность, и желательно покрывающую инфляцию.
Рассмотрим следующий кейс:
Есть некий Иван Иванов, у которого за годы трудового стажа или по иным причинам сформировались финансовые накопления, допустим 7 400 000 рублей (эквивалент 100 000$ по нынешнему курсу), которые планирует направить на целевое назначение — предположим покупку квартиры или загородного дома и прочего. Но на текущий момент должного предложения на рынке нету и он думает, а как наиболее эффективно распорядиться деньгами до фактической покупки объекта недвижимости, чтобы ДС не лежали «мёртвым грузом» а наоборот, принесли ещё дополнительную сумму в виде дохода от вложений?