Избранное трейдера _xXx_

по

8 полезных формул для предсказания дефолта

Оригинал статьи, финансовый анализ и рейтинги российских компаний на сайте «Финансовый анализ предприятий ВДО». Переходите и подписывайтесь, чтобы не пропустить дефолт.

Мы теряем деньги по своей глупости! Оценить собственную глупость просто. Посчитайте: Сколько облигаций у вас в портфеле куплено по совету друзей или под влиянием новостей? А сколько по холодному расчёту и собственному убеждению? Вам не страшно? Мне стало страшно, когда я научился просчитывать качество эмитента и посмотрел, что за мусор я купил по совету контор размещавших ВДО. Предлагаю и вам посмотреть  насколько близки вы к дефолту, используя 8 простых формул.

8 полезных формул для предсказания дефолта

Здравствуйте, юные инвесторы, начинающие и продвинутые. Огромное вам спасибо за ⭐➕❤👍 и за комментарии. Я очень тронут вашим интересом к финансовому анализу.



( Читать дальше )

Как скачать исторические котировки c yahoo finance и финама с помощью python

В одной из прошлых заметок мне нужно было скачать исторические котировки по 650 активам. Часть из них на российском рынке, часть крипта и большая часть на рынке США. Всё, что касается крипты, валют и американского рынка качал с yahoo finance. Российский рынок качал с финама. Естественно качал с помощью питона. Дальше расскажу как это можно повторить.

Yahoo finance и python


Пакет yfinance. Гитахб github.com/ranaroussi/yfinance Установка командой: pip install yfinance

Можно качать не только дневные данные. Интервалы из документации: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo На практике данные меньше дневных сильно ограничены. Например, часовые доступны за 60 последних дней.

Перейдём к делу, как качать котировки:

import yfinance as yf

data = yf.download(«TSLA», start=«2017-01-01», end=«2017-04-30»)

Как добавить интервал:

data = yf.download(«TSLA», start=«2017-01-01», end=«2017-04-30», interval='1h')

Данные скачиваются в датафрейм. Датафрейм можно сохранить в csv:

data.to_csv('tsla.csv')

Для тикеров с московской биржи нужно добавить постфикс .ME. То есть SBER и GAZP превращаются в SBER.ME и GAZP.ME Для валют тикеры выглядят вот так RUBUSD=X Для криптовалют BTC-USD

( Читать дальше )

разбор отчётов СОТ: крупняк ставит на продолжение оптимизма в США и рост индекса доллара, USD/RUB

Отчет СОТ — это еженедельный отчет по позициям трейдеров.
Его выпускает Комиссия по торговле товарными фьючерсами (CFTC).
Отчет содержит реальные данные по объемам позиций трейдеров на фьючерсных рынках США.
Мелкие участники рынка не отчитываются и в отчете их позиции называются non reportable.
(разница между общим количеством контрактов и количеством контрактов, по которым отчитались)

Отчеты COT публикуется раз в неделю
на официальном сайте Комиссии по торговле товарными фьючерсами (CFTC)
в текстовом формате в ночь с пятницы по субботу МСК.
По субботам скачиваю цифры с сайта CFTC 
www.cftc.gov/MarketReports/CommitmentsofTraders/index.htm
в свой excel, в excel сделал формулы для обработки информации.

Проанализировал отчеты СОТ (CFTC).
Скачиваю с сайта CFTC в excel.
Написал в excel простую программу: считает лонг минус шорт,
недельные данные  по каждой категории участников рынка и
строит графики изменений позиций по каждой категории участников рынка.

( Читать дальше )

Красная таблетка-2, небольшой конспект идей и мыслей. Часть 2

Вернулся к теме, наконец. Продолжаю разбор. У Курпатова есть пересечения с моей книгой, вот одно из них:

"… знание, понимание, информация и навыки — это ключевая ценность для качества жизни, для потенциальной успешности...  Желать успеха, игнорируя труд познания, анализа, мышления, — значит обрекать себя на страдание, разочарование и регулярные фиаско" — думаю тут Курпатов очень личное мнение высказывает, справедливое для него лично, потому что мы понимаем, что счастье вероятно не коррелирует со знанием. Но в моей книге есть похожая идея.

«гедонистическая беговая дорожка: мы нуждаемся в постоянном увеличении количества удовольствий, доходов и т.д. в противном случае у нас возникает ощущение что мы несчастливы»

«Несчастными нас делает не страдание само по себе, а когда мы начинаем жалеть себя» — интересная мысль, надо подумать.

«Нет никаких шансов сознательно заставить себя что-то делать»

«Идеальная продолжительность сна человека — 7 часов»

«Цифровая зависимость лишает нас способности думать. Это вопрос траты нашей психической энергии. Инфа завладевает нашим вниманием и мы ее переживаем.»

Идея с наличием ментора в жизни любого великого человека. «У каждой яркой личности в биографии всегда найдется тот, о кого она когда-то натерлась до самого блеска». 

( Читать дальше )

Где взять список всего, что торгуется на биржах? Желательно с ликвидностью

Американский рынок



Я нашёл несколько вариантов.

1. На сайте комиссии по ценным бумагам США лежит аккуратный файлик www.sec.gov/include/ticker.txt в котором 12495 строчек. Цифра рядом с тикером, как я понял, это Central Index Key. Нужно самому разбираться что есть что. Похоже что файл отсортирован по капитализации или объёму торгов.
2. Есть сток скринер от насдака www.nasdaq.com/market-activity/stocks/screener Там есть NYSE, NASDAQ и AMEX. Можно отфильтровать по маркет кап, рейтингу, сектору, региону и стране.
3. Запросить через апи в alphavantage. Функция www.alphavantage.co/documentation/#listing-status. Вот такой запрос www.alphavantage.co/query?function=LISTING_STATUS&apikey=demo возвращает файлик с акциями и етфами торгуемымы на прошлый торговый день. На сегодня это 11037 штук. Интересно, что можно запросить тикеры компаний, которые уже не торгуются или торговалить на определенную дату. В доках всё есть. До 500 запросов в день апи бесплатный.

Российский рынок



А что на счёт России? Как это ни парадоксально, но такой список можно взять на сайте московской биржи: www.moex.com/a1600

( Читать дальше )

Простеший принцип построения любого графика с движением в любую сторону.

Простейшее зонирование любого движения на графике. Есть одна малая зона, она распределяется на три зоны, получаем одну большую. Далее принцип повторяется из раза в раз. Обычно после 3х больших ценовых зон, цена тестирует предыдущую большую зону. Все ценовые зоны абсолютно пропорциональны и состоят из тех же простейших аб=сд. Не имеет значение в какую сторону движется цена, она всегда будет соблюдать пропорцию.
Простеший принцип построения любого графика с движением в любую сторону.

t.me/rovniymarket

t.me/joinchat/nnrfgxRuA9AwOGZi    чат



Ликбез: цифровые активы

ГК (ст. 141.1): Цифровыми правами признаются названные в таком качестве в законе обязательственные и иные права, содержание и условия осуществления которых определяются в соответствии с правилами информационной системы, отвечающей установленным законом признакам. Осуществление, распоряжение, в том числе передача, залог, обременение цифрового права другими способами или ограничение распоряжения цифровым правом возможны только в информационной системе без обращения к третьему лицу.

ЦФА — цифровые финансовые активы.

ЦФА признаются цифровые права, включающие:

  • денежные требования
  • возможность осуществления прав по эмиссионным ценным бумагам
  • права участия в капитале непубличного акционерного общества
  • право требовать передачи эмиссионных ценных бумаг

которые предусмотрены решением о выпуске ЦФА в порядке, установленном настоящим ФЗ, выпуск, учет и обращение которых возможны только путем внесения (изменения) записей в информационную систему на основе распределенного реестра, а также в иные информсистемы.

Цифровая валюта — признается совокупность электронных данных в отношении которых отсутствует лицо, обязанное перед каждым обладателем таких электронных данных, за исключением оператора и/или узлов информсистемы.

Что НЕ регулируется в законе о ЦФА:

  • майнинг
  • криптовалюта
  • токен
  • смарт-контракт
  • валидатор
  • цифровой кошелек
Обращение цифровой валюты:

( Читать дальше )

2048

Нашел у себя тексты некогда популярной игрушки 2048, на скорую руку адаптировал к квику. Ловите, улыбайтесь )

local stopped

game = {
	cell = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
	best = 0,
--	key = nil,
-- t = nil,
	colors =	{	[0]	= QTABLE_DEFAULT_COLOR,
					[2]	= RGB(248,248,255),
					[4]	= RGB(255,239,213),
					[8]	= RGB(255,222,173),
					[8]	= RGB(255,218,185),
					[16]	= RGB(205,92,92),
					[32]	= RGB(255,69,0),
					[64]	= RGB(238,238,0),
					[128]	= RGB(238,118,33),
					[256]	= RGB(255,160,122),
					[512]	= RGB(255,0,0),
					[1028]= RGB(238,18,137),
					[2048]= RGB(139,0,0)
				},
	
	create_table =
		function(self)
			self.t = AllocTable()
			for i = 1,4 do
				AddColumn(self.t, i, "", true, QTABLE_INT_TYPE, 10)
			end
			CreateWindow(self.t)
			SetWindowPos(self.t,100,100,300,130)
			for i = 1,4 do
				InsertRow(self.t,i)
			end
			SetTableNotificationCallback(self.t, 		
												  function(_t, msg, _p, key)
													if msg == QTABLE_VKEY then
														self.key = key
													elseif msg == QTABLE_CLOSE then
														stopped = true
													end
												  end)
			SetWindowCaption(self.t, "2048 game by www.bot4sale.ru")
		end,
	
	draw = 
		function(self)
			local cell = self.cell
			for row=1,4 do
				for column=1,4 do
					local value = cell[(row-1)*4 + column]
					SetCell(self.t,row,column,value==0 and "" or tostring(value))
					SetColor(self.t,row,column,game.colors[value],0,game.colors[value],0)
				end
			end
	  end,
  
	incr = 
		function(self)
			local t,open = self.cell,{}
			for i=1,16 do 
				if t[i]==0 then 
					open[#open+1]=i 
				end
			end
			t[open[math.random(#open)]] = math.random()<0.1 and 4 or 2
		end,
  
	pack = 
		function(self,ofr,oto,ost,ifr,ito,ist)
			local t = self.cell
			for outer=ofr,oto,ost do
				local skip = 0
				for inner=ifr,ito,ist do
					local i = outer+inner
					if t[i]==0 then 
						skip=skip+1 
					else 
						if skip>0 then 
							t[i-skip*ist],t[i],self.diff = t[i],0,true 
						end 
					end
				end
			end
		end,
  
	comb = 
		function(self,ofr,oto,ost,ifr,ito,ist)
			local t = self.cell
			for outer=ofr,oto,ost do
				for inner=ifr,ito-ist,ist do
					local i,j = outer+inner,outer+inner+ist
					if t[i]>0 and t[i]==t[j] then 
						t[i],t[j],self.diff,self.best = t[i]*2,0,true,math.max(self.best,t[i]*2) 
					end
				end
			end
		end,
  
	move = 
		function(self,dir)
			local loopdata =	{	{0,12,4,1,4,1},
										{0,12,4,4,1,-1},
										{1,4,1,0,12,4},
										{1,4,1,12,0,-4}
									}
			local ofr,oto,ost,ifr,ito,ist = table.unpack(loopdata[dir])
			self:pack(ofr,oto,ost,ifr,ito,ist)
			self:comb(ofr,oto,ost,ifr,ito,ist)
			self:pack(ofr,oto,ost,ifr,ito,ist)
		end,
  
	full = 
		function(self)
			local t = self.cell
			for r=0,12,4 do
				for c=1,4 do
					local i,v = r+c,t[r+c]
					if (v==0) or (c>1 and t[i-1]==v) or (c<4 and t[i+1]==v) or (r>0 and t[i-4]==v) or (r<12 and t[i+4]==v) then
						return false
					end
				end
			end
		return true
	end,
  
	play = 
		function(self)
			math.randomseed(os.time())
			self:incr()
			self:incr()
			while not stopped do
				self:draw()
				if self.best == 2048 then 
					message("Поздравляю!\n\nwww.bot4sale.ru") 
					break 
				end
				if self:full() then 
					message("Game Over!")
					break 
				end
				
				self.diff = false
				if		 self.key==0x25 then 		-- Left
					self:move(1)
				elseif self.key==0x27 then			-- Right
					self:move(2)
				elseif self.key==0x26 then 		-- Up
					self:move(3)
				elseif self.key==0x28 then			-- Down
					self:move(4)
				end
				self.key = nil
				if self.diff then 
					self:incr() 
				end
				sleep(100)
			end
		end,
		
	rules = 
		function()
			message("Правила игры:\n\nВ каждом раунде появляется плитка номинала «2» или «4». Нажатием стрелки игрок может скинуть все плитки игрового поля в одну из 4 сторон. Если при сбрасывании две плитки одного номинала «налетают» одна на другую, то они превращаются в одну, номинал которой равен сумме соединившихся плиток. После каждого хода на свободной секции поля появляется новая плитка номиналом «2» или «4». Если при нажатии кнопки местоположение плиток или их номинал не изменится, то ход не совершается. Если в одной строчке или в одном столбце находится более двух плиток одного номинала, то при сбрасывании они начинают соединяться с той стороны, в которую были направлены.\nЛевый столбец с номерами строк участия в игре не принимает.\n\[email protected]")
		end
}
local game = game

--------------------------------------------------

function main()
	game:create_table()
	game:rules()
	game:play()
end

 

 Оригинал здесь


"Исповедь экономического убийцы" Джон Перкинс

Автор данной книги Джон Перкинс, был так называемым экономическим убийцей как он говорит (ЭУ), в книге он рассказывает как люди работая в данной должности на консалтинговые компании, прикрываясь идеями экономического роста, оценивают перспективы развития стран третьего мира и склоняют правительства этих стран к взятию многомиллиардных кредитов, которые идут на оплату подрядов крупнейших американских строительных корпорациий и которые впоследствии страна не может выплатить, попадая в кабальную зависимость, отдавая взамен свои природные ресурсы и рабочую силу.

Если у них не удается склонить правительство для взятия крупных кредитов, в игру вступают шакалы, и при необычных обстоятельствах гибнут правители стран третьего мира, в авто или авикатастрофе, тому пример приводились призиденты Эквадора и Панамы.

Если и шакалам не удавалось справиться то тут вступали в силу армия США пример Ирак.

В книге много самобичевание самого автора, мол посмотрите, вот какой я был плохой, но я много страдал и полон раскаяния, видно что автор пытается оправдаться данной книгой, что он был причастен к тому что из-за Америки люди стран третьего мира не могли нормально жить.

( Читать дальше )

....все тэги
UPDONW
Новый дизайн