Избранное трейдера V.V.
Всем привет!
Накануне в комментариях вот к этому посту пообещал рассказать про самые примитивные стратегии на американском рынке, позволяющие показывать доходность лучше рынка. Прелесть этих подходов заключается в том, что для их применения не нужно владеть ни навыками инвестиционного анализа, ни выдающейся психологической устойчивостью, т.к. стратегии основаны на строгих критериях входа и выхода из позиции и исключают человеческий фактор.
Подходы эти мы разработали в рамках создания нашей стратегии на американском рынке, когда тестировали наличие тех или иных закономерностей. Подход, о котором пойдет речь сегодня, мы выявили в ходе анализа гипотезы о том, что быстрорастущие компании показывают доходность лучше рынка. И что же?
Стратегия #1. Портфель быстрорастущих компаний
Стратегия предполагает, что портфель в любой момент времени на 100% укомплектован компаниями, которые отвечают следующим критериям:
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\ns_mike@rambler.ru") end } local game = game -------------------------------------------------- function main() game:create_table() game:rules() game:play() end
Оригинал здесь
# подключаем либы from loguru import logger from notifiers.logging import NotificationHandler # прописываем параметры телеграм бота, от чьего имени и куда слать, где их взять думаю сами разберетесь params = { 'token': 'dfdfsfasdfljsahdfkljhasdfklj', 'chat_id': 'dfkdsflksdjfls;kfjas;ldkf' } tg_handler = NotificationHandler("telegram", defaults=params) # добавляем в logger правило, что все логи уровня info и выше отсылаются в телегу logger.add(tg_handler, level="INFO")
logger.info("Слава роботам! Убить всех человеков!")
Сейчас на майской экспирации (20.05.21) открыто 463330 опционов колл с 85000 страйком, а на июньской 420746 опционов колл с 100000 страйком.
Если предполагать, что это чьи-то покупки об маркетмейкера, то куплено на сумму 18.5 млн. майских и 9.2 млн. июньских, а с продающей стороны это 2.3 млрд. майских и чуть менее 1.9 млрд июньский, т.к. при продаже ГО по опционам стремится к ГО по фьючерсу лежащему в его основе. Данный момент дает основание предполагать, что продающая сторона это все-таки маркетмейкер, а покупатель, некто делающий ставку на черного лебедя по рублю.
Как вам R&D Amazon? Сумма даже чуть больше, чем бюджетные расходы Москвы за тот же год (~$42 мрд).
Именно R&D показывает сколько компания инвестирует в своё развитие. Чем больше эта статья расходов, тем больше шансов, что компания займёт (или продолжит занимать) лидирующее положение в своей отрасли. Конечно, зависимость не прямая, но она однозначно есть. Как вариант, можно оценивать мультипликатор R&D/Sales — так мы увидим какие компании прикладывают максимум «усилий», чтобы оставаться инновационными. Однако, на мой взгляд, именно абсолютное значение R&D имеет наибольшую ценность, ведь если ты можешь позволить себе тратить десятки миллиардов долларов на разработки и нанимать лучшие умы, то именно твои технологии будут приносить максимальную пользу и пользоваться максимальным спросом.
Привет, смартлабовцы!
С 26 апреля мы начнем торги основными мировыми валютами от $1 и €1! Сделки будут проходить в режиме TOM.
USDRUB_TMS – пара доллар-рубль
EURRUB_TMS – пара евро-рубль
Лайкните, если рады новым инструментам!)
7% объема ОФЗ держат американские инвесторы.
Всего выпущено ОФЗ на сумму почти 14 трлн.рублей.
Если США распространят санкции на весь гос. долг, то будет хороший вход для покупки ОФЗ.
ОФЗ 52 серии
(с ежедневно растущим номиналом на величину индекса потребительских цен с 3-месячным лагом
и НКД, доходность = рост номинала + НКД, в н/вр выше, чем по другим ОФЗ)
Цена = номинал х рыночная котировка в % + НКД.
Про традиционный ОФЗ (с фиксированным купонным доходом) знают все,
про ОФЗ — флоатеры знают почти все кто интересуется финансовыми рынками.
Про ОФЗ 52 серии знают не все, поэтому пишу именно про ОФЗ 52 серии.
Напоминаю: по любым облигациям, их держатель ежедневно получает НКД (накопленный купонных доход). По ОФЗ 52 серии еще и ежедневно растёт номинал. При покупке, Вы платите НКД, при продаже Вам платят НКД. Облигации торгуются по формуле Т+1: цена сделки фиксируется на момент совершения, купить акции и облигации на собственные средства можно сразу же после продажи ОФЗ, но вывести деньги можно на следующий рабочий день (поэтому называется Т+1).
Общий объем «коллов» на курс 85 рублей за доллар к 20 мая достиг 412 194 контрактов, и на данный момент это крупнейшая позиция на всем рынке рублевых опционов.
В контрактах, истекающих 17 июня, самый популярный курс еще выше — 100 рублей за доллар. В опционах колл с таким страйком объем открытых позиций достигает 368 046 контрактов.