Избранное трейдера Александр
Форма 10-K представляет из себя годовой отчет деятельности компании, который включает такие разделы, как обзор бизнеса компании, основные риски, финансовая отчетность и комментарии к ней, корпоративное управление и т.д. Каждая компания, чьи акции торгуются на американской фондовой бирже, обязана ежегодно подавать форму 10-K в SEC.
An unofficial python API wrapper to retrieve technical analysis from TradingView.
ru.tradingview.com/symbols/MOEX-SBER/technicals/
from tradingview_ta import TA_Handler, Interval, Exchange sber = TA_Handler( symbol="SBER", screener="russia", exchange="MOEX", interval=Interval.INTERVAL_1_DAY ) print(sber.get_analysis().summary) # Example output: {"RECOMMENDATION": "BUY", "BUY": 8, "NEUTRAL": 6, "SELL": 3}
Interval.INTERVAL_1_MINUTE
Interval.INTERVAL_5_MINUTES
Interval.INTERVAL_15_MINUTES
INTERVAL_1_HOUR
Interval.INTERVAL_4_HOURS
Interval.INTERVAL_1_DAY
Interval.INTERVAL_1_WEEK
Interval.INTERVAL_1_MONTH
Documentation
python-tradingview-ta.readthedocs.io/en/latest/overview.html
Один из самых частых вопросов касается текущих идей на рынке. Сразу оговорюсь, что это лишь мое мнение и я сам на данные активы сделал ставку.
1️⃣ Юнипро — одна из самых интересных компаний с точки зрения див. доходности. Наконец-то работы по 3 энергоблоку БГРЭС вышли на финишную прямую, уже все готово к запуску, проводятся финальные испытания. После запуска блока в эксплуатацию размер дивидендов по заверению менеджмента поднимут до 0,317 руб, что дает около 11% ДД к текущим ценам. Также компания получила квоту на модернизацию 2,5ГВт в рамках ДПМ-2 до 2025 года, что позволит окупить вложенные инвестиции.
2️⃣ Энел — активно строит ветропарки, становясь все более зеленой. На период строительства менеджмент планирует платить по 3 млрд. руб в виде дивидендов или 0,085 руб на акцию, что дает к текущим ценам 9,5% годовых. Недавно вышла позитивная новость о том, что задержка ввода в эксплуатацию Азовской ВЭС (план — декабрь 2020 года) не повлечет применения штрафных санкций.
Смеркалось. Снег укутывал печалью население городов. Сотрудники Московской биржи, как и в любой другой день, трудились на благо общества, но это им не помогло. Через работу системы пресс-службы Мосбиржы, данные о среднем инвестиционном портфеле просочились в сеть и взорвали её самым гуманным образом.
Московская биржа – это биржевой холдинг, который организует торги акциями, облигациями, валютой, зерном, производными инструментами и драгоценными металлами. Количество физических лиц, имеющие у неё брокерские счета, только за январь увеличились почти на 10%, составив 9,4 миллиона, а сделки совершало в 3 раза больше людей, чем в январе годом ранее. Лудоманы.
Объём сделок по акциями частными инвесторами достиг 41%, что составляет немалую и весомую силу на этом полигоне борьбы быков и медведей. Сбербанк в январе оказался более чем в 2,5 раза сильнее, чем банк Тинькофф, по количеству открытых ИИС (индивидуальных инвестиционных счетов) с 1.8млн против 0.643млн соответственно. Я бы уже впал в отчаяние, но их часы показывают, что этим заниматься некогда. Это Тинькофф понял ещё со времён «Техношока».
Лидерами по количеству открытых ИИС являются 3 «нерезиновых» региона: Москва, Московская область и Санкт-Петербург. Хотя об этом я мог сказать и не прибегая к поиску этой информацией.
Лидерами голубых фишек оказалась Роснефть. Лидерами средних и коротышей оказались ПИК и АФК Система. Вот, собственно, такая табличка:
Скрывавшиеся ранее данные обнажили перед нами 3 средних инвестиционных портфеля Мосбиржы. Каждый из портфелей оказывается ориентирован на свой «рынок»
1)Средний портфель акций российских компаний, куда вошли такие акции, как: (Левенгук(LVHK) решили не добавлять)
Газпром(GAZP) -19%
Сбербанк(SBER) – 14,2%
СбербанкПреф(SBERP) – 8%
Норникель(GMKN) – 11,6%
ЛУКОЙЛ(LKOH) – 9,7%
Аэрофлот(AFLT)– 8,8% гы-гы
MAIL.ru Group(MAIL) – 8.1%
Yandex(YNDX) — 7,3%
СургутПреф(SNGSP) – 7%
ВТБ(VTBR)– 6.2% (аххахаха)
Лукойл — одна из крупнейших вертикально интегрированных нефтегазовых компаний в мире, на долю которой приходится более 2% мировой добычи нефти и около 1% доказанных запасов углеводородов. За время работы на энергетическом рынке ЛУКОЙЛ приобрел репутацию надежного поставщика нефтепродуктов. Компания реализует свою продукцию крупным и мелким оптом более чем в 24 странах мира и является вторым крупнейшим производителем в России.
Производимая продукция компании:
1.Нефтепродукты (бензин, дизельное и авиационное топливо, битум, мазут, масла и т.д.)
2.Нефть
3.Газ
4.Энергия и сопутствующие услуги
5.Прочее
Рынки сбыта продукции компании:
1.Реализация за рубежом
2.Реализация в России
from websocket import create_connection import json import random import string import re import pandas as pd import csv from datetime import datetime from time import sleep def filter_raw_message(text): try: found = re.search('"m":"(.+?)",', text).group(1) found2 = re.search('"p":(.+?"}"])}', text).group(1) print(found) print(found2) return found1, found2 except AttributeError: print("error") def generateSession(): stringLength=12 letters = string.ascii_lowercase random_string= ''.join(random.choice(letters) for i in range(stringLength)) return "qs_" +random_string def generateChartSession(): stringLength=12 letters = string.ascii_lowercase random_string= ''.join(random.choice(letters) for i in range(stringLength)) return "cs_" +random_string def prependHeader(st): return "~m~" + str(len(st)) + "~m~" + st def constructMessage(func, paramList): #json_mylist = json.dumps(mylist, separators=(',', ':')) return json.dumps({ "m":func, "p":paramList }, separators=(',', ':')) def createMessage(func, paramList): return prependHeader(constructMessage(func, paramList)) def sendRawMessage(ws, message): ws.send(prependHeader(message)) def sendMessage(ws, func, args): ws.send(createMessage(func, args)) def generate_csv(a): out= re.search('"s":\[(.+?)\}\]', a).group(1) x=out.split(',{\"') with open('data_file.csv', mode='w', newline='') as data_file: employee_writer = csv.writer(data_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) employee_writer.writerow(['index', 'date', 'open', 'high', 'low', 'close', 'volume']) for xi in x: xi= re.split('\[|:|,|\]', xi) print(xi) ind= int(xi[1]) ts= datetime.fromtimestamp(float(xi[4])).strftime("%Y/%m/%d, %H:%M:%S") employee_writer.writerow([ind, ts, float(xi[5]), float(xi[6]), float(xi[7]), float(xi[8]), float(xi[9])]) # Initialize the headers needed for the websocket connection headers = json.dumps({ # 'Connection': 'upgrade', # 'Host': 'data.tradingview.com', 'Origin': 'https://data.tradingview.com' # 'Cache-Control': 'no-cache', # 'Upgrade': 'websocket', # 'Sec-WebSocket-Extensions': 'permessage-deflate; client_max_window_bits', # 'Sec-WebSocket-Key': '2C08Ri6FwFQw2p4198F/TA==', # 'Sec-WebSocket-Version': '13', # 'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36 Edg/83.0.478.56', # 'Pragma': 'no-cache', # 'Upgrade': 'websocket' }) # Then create a connection to the tunnel ws = create_connection( 'wss://data.tradingview.com/socket.io/websocket',headers=headers) session= generateSession() print("session generated {}".format(session)) chart_session= generateChartSession() print("chart_session generated {}".format(chart_session)) # Then send a message through the tunnel sendMessage(ws, "set_auth_token", ["unauthorized_user_token"]) sendMessage(ws, "chart_create_session", [chart_session, ""]) sendMessage(ws, "quote_create_session", [session]) sendMessage(ws,"quote_set_fields", [session,"ch","chp","current_session","description","local_description","language","exchange","fractional","is_tradable","lp","lp_time","minmov","minmove2","original_name","pricescale","pro_name","short_name","type","update_mode","volume","currency_code","rchp","rtc"]) sendMessage(ws, "quote_add_symbols",[session, "BINANCE:BTCUSDT", {"flags":['force_permission']}]) sendMessage(ws, "resolve_symbol", [chart_session, "symbol_1","={\"symbol\":\"BINANCE:BTCUSDT\",\"adjustment\":\"splits\"}"]) sendMessage(ws, "create_series", [chart_session,"s1","s1","symbol_1","1",300]) sendMessage(ws, "quote_fast_symbols", [session,"BINANCE:BTCUSDT"]) sendMessage(ws, "create_study", [chart_session,"st1","st1","s1","Volume@tv-basicstudies-118",{"length":20,"col_prev_close":"false"}]) sendMessage(ws, "quote_hibernate_all", [session]) #st='~m~140~m~{"m":"resolve_symbol","p":}' #p1, p2 = filter_raw_message(st) #sendMessage(ws, "resolve_symbol", [chart_session,"symbol_1","={\"symbol\":\"BINANCE:BTCUSDT\",\"adjustment\":\"splits\",\"session\":\"extended\"}"]) #sendMessage(ws, "create_series", [chart_session, "s1", "s1", "symbol_1", "1", 2]) #sendMessage(ws, "create_study", [chart_session,"st4","st1","s1","ESD@tv-scripting-101!",{"text":"BNEhyMp2zcJFvntl+CdKjA==_DkJH8pNTUOoUT2BnMT6NHSuLIuKni9D9SDMm1UOm/vLtzAhPVypsvWlzDDenSfeyoFHLhX7G61HDlNHwqt/czTEwncKBDNi1b3fj26V54CkMKtrI21tXW7OQD/OSYxxd6SzPtFwiCVAoPbF2Y1lBIg/YE9nGDkr6jeDdPwF0d2bC+yN8lhBm03WYMOyrr6wFST+P/38BoSeZvMXI1Xfw84rnntV9+MDVxV8L19OE/0K/NBRvYpxgWMGCqH79/sHMrCsF6uOpIIgF8bEVQFGBKDSxbNa0nc+npqK5vPdHwvQuy5XuMnGIqsjR4sIMml2lJGi/XqzfU/L9Wj9xfuNNB2ty5PhxgzWiJU1Z1JTzsDsth2PyP29q8a91MQrmpZ9GwHnJdLjbzUv3vbOm9R4/u9K2lwhcBrqrLsj/VfVWMSBP","pineId":"TV_SPLITS","pineVersion":"8.0"}]) # Printing all the result a="" while True: try: sleep(1) result = ws.recv() pattern = re.compile("~m~\d+~m~~h~\d+$") if pattern.match(result): ws.recv() ws.send(result) print("\n\n\n hhhhhhhhhhhhhhhhhhhhhh "+ str(result) + "\n\n") print(result) a=a+result+"\n" except Exception as e: print(e) break generate_csv(a)'https://github.com/rushic24/tradingview-scraper'
По законам США, крупные участники рынка отчитываются по своим позициям.
Мелкие участники не отчитываются и называются NON REPORTABLE.
В пятницу вечером CFTC на сайте CFTC публикуют отчеты: скачал в excel и обработал.
Последний отчет (от 29 01 2021).
Между тем, Россия продолжает бороться с повышением внутренних цен на сельхозпродукцию. Пшеницу, ячмень, кукурузу, подсолнечник и рапс уже обложили экспортной пошлиной, на очереди соя. Её в немалых объёмах выращивают на Дальнем Востоке страны. Традиционным рынком сбыта служит Китай. Рост мировых цен на соевые бобы сейчас космический.
В результате российские производители совсем позабыли про родной внутренний рынок, работают на внешний. Цены на сою в России тоже пошли вверх, а это важное сырьё. Сою перерабатывают и получают масло, а остатки – шрот – идут на корм сельскохозяйственным животным. Своей сои России не хватает, поэтому приходится закупать за рубежом, а там цены выросли.
Чтобы стимулировать отечественных аграриев поставлять сою не в Китай, а на внутренний рынок, и была введена экспортная пошлина в размере 30%. Довольно много. Это позволит перенаправить объёмы, которые утекали за границу, на российские заводы по производству масла и кормов. Цены на мировых рынках полыхают. Соя в этом плане – далеко не единственная. Вот, к примеру, график по кукурузе.