Избранное трейдера Lilith
17 февраля 2022 года приглашенному в МИД России послу США Джону Салливану передали следующую реакцию на ранее полученный американский ответ по российскому проекту договора между Российской Федерацией и Соединенными Штатами Америки о гарантиях безопасности.
ТАСС публикует полный текст заявления.
Общая характеристикаКонстатируем, что американская сторона не дала конструктивного ответа на базовые элементы подготовленного российской стороной проекта договора с США о гарантиях безопасности. Речь идет об отказе от дальнейшего расширения НАТО, об отзыве «бухарестской формулы» о том, что «Украина и Грузия станут членами НАТО», и об отказе от создания военных баз на территории государств, ранее входивших в СССР и не являющихся членами альянса, включая использование их инфраструктуры для ведения любой военной деятельности, а также о возврате военных потенциалов, в том числе ударных, и инфраструктуры НАТО к состоянию на 1997 год, когда был подписан Основополагающий акт Россия — НАТО. Эти положения имеют для Российской Федерации принципиальное значение.
БКС ищет редактора / шеф-редактора YouTube-канала БКС Мир инвестиций и других контентных проектов.
Задачи:
• редактирование и написание текстов для ведущих YouTube-шоу об инвестициях (экспертов БКС);
• участие в разработке новых форматов и сценариев YouTube-шоу об инвестициях;
• редакторское сопровождение съемок;
• адаптация видео-контента к распространению в текстовом виде в интернет-издании «БКС Экспресс» и социальных сетях.
Требования:
• опыт написания и редактирования финансового, инвестиционного или делового контента — в деловых СМИ или тематических бренд-медиа;
• опыт работы с YouTube — или готовность очень быстро погрузиться;
• безупречный русский язык, чувство стиля, начитанность и насмотренность;
Мы ищем автора образовательного контента, который поможет миллионам инвесторов разобраться в устройстве фондового рынка. Уверены, что на такой площадке как Smartlab, есть опытные и талантливые авторы, которые могли бы присоединиться к нашей команде и вместе сделать инвестиции делом обычным в России, а главное полезным и выгодным. Если вы не ищете работу фул-тайм, но хотели бы писать для нас тексты на аутсорсе — тоже можете писать на на почту с предложениями.
Редактор в Тинькофф ー человек, который умеет все или хочет научиться новому. Мы сами пишем, согласовываем с аналитиками и менеджерами продукта, оформляем, верстаем, выпускаем. Однотипной работы мало, поэтому у нас интересно. Что надо делать:
Писать образовательные тексты разных форматов (от коротких постов в соцсети до полноценных курсов)
Отслеживать эффективность контента, придумывать воронки
Редактировать внешних авторов
--[[ индикатор торговой системы QUIK: канал на последнем зигзаге индикатор строит канал по зигзагу, показывает слом тренда при выходе цены за границы канала параметры: Procent - величина зигзага в % k - коэффизиент ширины канала Ext - =0-канал стоится по средним =1-канал стоится по экстремуму Как им пользоваться: в папке QUIK\LuaIndicators создаем текстовый файл с содержимым кода индикатора добавляем индикатор на график задаем параметр чувствиельности инлдикатора — Процент индикатор показывает уровни, в которых находится тренд если тренд еще не сформировался, то границы канала могут расширяться по мере движения цены если в канале уже есть локальные вершины, то при следующем походе индикатора к границе канал возмен разворот тренда или коррекции в рамках данного канала --]] Settings= { Name = "Zigzag_channel_fast", -- название индикатора Procent=5.0, -- величина зигзага в % k=2, -- коэффизиент ширины канала Ext=1, -- =0-канал стоится по средним =1-канал стоится по экстремуму shif=0, line= { { Name = "zigzagline", Type =TYPE_LINE, Width = 1, Color = RGB(120,90, 140) }, { Name = "cur1", Type =TYPE_LINE, Width = 1, Color = RGB(0,0, 0) }, { Name = "cur2", Type =TYPE_LINE, Width = 2, Color = RGB(0,200, 200) }, { Name = "cur3", Type =TYPE_LINE, Width = 2, Color = RGB(200,200, 0) }, { Name = "cur4", Type =TYPE_LINE, Width = 1, Color = RGB(0,0, 0) }, { Name = "cur5", Type =TYPE_LINE, Width = 2, Color = RGB(0,0, 255) }, { Name = "cur6", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "cur7", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "cur8", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "cur9", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "cur10", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) }, { Name = "cur11", Type =TYPE_LINE, Width = 2, Color = RGB(255,0, 0) } } } function Init() y1 = nil y2 = nil y3 = nil x1 = 1 x2 = 1 x3 = 1 oldindex = 1 a_01 = 0 b_01 = 0 a_02 = 0 b_02 = 0 vminus_01 = 0 vplus_01 = 0 vminus_02 = 0 vplus_02 = 0 vFrom_01 = 1 vTo_01 = 1 vFrom_02 = 1 vTo_02 = 1 vminus = 0 vplus = 0 vminus_n = 0 vplus_n = 0 ret = 0 last_ind = 1 v1=nil v2=nil v3=nil v4=nil v5=nil v6=nil v7=nil v8=nil v9=nil v10=nil return 10 end function recalcline(num, index, rec) if index == Size()-sh and rec == 0 then for i = 1, index do if m == 1 then SetValue(i, 3, nil) SetValue(i, 4, nil) end if m == 2 then SetValue(i, 6, nil) SetValue(i, 7, nil) end end end if index == Size()-sh or rec == 1 then if num == 1 then vFrom = 0 --[[ --]] vTo = 0 if x3 < x2 then vFrom = x3 vTo = x2 else vFrom = x2 vTo = x3 end end if num == 2 then vFrom = 0 vTo = 0 if x1 < x2 then vFrom = x1 vTo = x2 else vFrom = x2 vTo = x1 end end if vFrom < 1 then vFrom = 1 end a1 = 0 a2 = 0 a3 = 0 a4 = 0 n = 0 a = 0 b = 0 for i = vFrom, vTo do n=n+1 a1 = a1+i*C(i) a2 = a2+i a3 = a3+C(i) a4 = a4+i*i end if((n*a4 - a2*a2) ~= 0) then -- if oldindex ~= Size() then a = (n*a1 - a2*a3)/(n*a4 - a2*a2) b = (a3 - a*a2)/n vminus = 0 vplus = 0 vminus_n = 0 vplus_n = 0 for i = vFrom, index do y = a*i + b if i>0 then if C(i) < y and i <= vTo then if ex == 0 then vminus = vminus + y - C(i) vminus_n = vminus_n + 1 else if i == vFrom then vminus = 0 end if y-C(i) > vminus then vminus = y-C(i) end end end end if i>0 then if C(i) > y and i <= vTo then if ex == 0 then vplus = vplus + C(i) - y vplus_n = vplus_n + 1 else if i == vFrom then vplus = 0 end if C(i)-y > vplus then vplus = C(i)-y end end end end m = 0 if C(vTo) > C(vFrom) and y < C(vTo)+0.1*(C(vTo)-C(vFrom)) and y > C(vFrom)-0.1*(C(vTo)-C(vFrom)) then m = 1 end if C(vTo) < C(vFrom) and y < C(vFrom)+0.1*(C(vFrom)-C(vTo)) and y > C(vTo)-0.1*(C(vFrom)-C(vTo)) then m = 1 end if m == 1 then --SetValue(i, 2, y) end end --end if ex == 0 then if vminus_n ~= 0 then vminus = kk*vminus/vminus_n end if vplus_n ~= 0 then vplus = kk*vplus/vplus_n end end end if num == 1 then a_01 = a b_01 = b vminus_01 = vminus vplus_01 = vplus vFrom_01 = vFrom vTo_01 = vTo end if num == 2 then a_02 = a b_02 = b vminus_02 = vminus vplus_02 = vplus vFrom_02 = vFrom vTo_02 = vTo end return 1 end return 0 end function levels(x, y, num, index) if y ~= nil and x ~= 1 then for i = 1, index do if i > x then SetValue(i, num, y) else SetValue(i, num, nil) end end end end function OnCalculate(index) de = Settings.Procent kk = Settings.k ex = Settings.Ext sh = Settings.shif v1=nil v2=nil v3=nil v4=nil v5=nil v6=nil v7=nil v8=nil v9=nil v10=nil if index > Size()-sh then --return nil, nil, nil, nil, nil, nil, nil return v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 end vl = C(index) if vl~=nil then if index == 1 then y1 = vl y2 = vl else if C(index) > y1*(1+de/100) and y1 < y2 then x3 = x2 x2 = x1 y3 = y2 y2 = y1 x1 = index y1 = C(index) ret = recalcline(1, index, 0) ret = recalcline(2, index, 0) levels(x1, y1, 8, index) levels(x2, y2, 9, index) levels(x3, y3, 10, index) end if C(index) > y1 and C(index) > y2 then x1 = index y1 = C(index) end if C(index) < y1*(1-de/100) and y1 > y2 then x3 = x2 x2 = x1 y3 = y2 y2 = y1 x1 = index y1 = C(index) ret = recalcline(1, index, 0) ret = recalcline(2, index, 0) levels(x1, y1, 8, index) levels(x2, y2, 9, index) levels(x3, y3, 10, index) end if C(index) < y1 and C(index) < y2 then x1 = index y1 = C(index) end end end --[[ if x1 ~= index then curfrom = x1 curto = index else curfrom = x2 curto = x1 end if curto ~= curfrom and curfrom ~= nil and curto ~= nil then if C(curto) ~= nil and C(curfrom) ~= nil then k = (C(curto)- C(curfrom))/(curto- curfrom) for i = curfrom, index do curv = i*k + C(curto) - curto*k SetValue(i, 1, curv) end end end --]] if index == Size()-sh and ret == 0 then lpr = C(Size()-sh) ret = recalcline(1, index, 1) ret = recalcline(2, index, 1) if y1 ~= nil then if y1 > lpr*0.9 and y1 < lpr*1.1 then levels(x1, y1, 8, index) end end if y2 ~= nil then if y2 > lpr*0.9 and y2 < lpr*1.1 then levels(x2, y2, 9, index) end end if y3 ~= nil then if y3 > lpr*0.9 and y3 < lpr*1.1 then levels(x3, y3, 10, index) end end end if index == Size()-sh then --- and index ~= last_ind if vTo_01 - vFrom_01 > 500 then vFrom_01 = vTo_01-500 end for i = 1, index do SetValue(i, 3, nil) SetValue(i, 4, nil) SetValue(i, 6, nil) SetValue(i, 7, nil) -- SetValue(i, 8, nil) -- SetValue(i, 9, nil) -- SetValue(i, 10, nil) end for i = vFrom_01, index do y = a_01*i + b_01 + vplus_01 m = 0 if C(vTo_01) > C(vFrom_01) and y < C(vTo_01)+0.3*(C(vTo_01)-C(vFrom_01)) and y > C(vFrom_01)-0.3*(C(vTo_01)-C(vFrom_01)) then m = 1 end if C(vTo_01) < C(vFrom_01) and y < C(vFrom_01)+0.3*(C(vFrom_01)-C(vTo_01)) and y > C(vTo_01)-0.3*(C(vFrom_01)-C(vTo_01)) then m = 1 end if m == 1 then SetValue(i, 3, y) if i == index then v3 = y end end y = a_01*i + b_01 - vminus_01 m = 0 if C(vTo_01) > C(vFrom_01) and y < C(vTo_01)+0.3*(C(vTo_01)-C(vFrom_01)) and y > C(vFrom_01)-0.3*(C(vTo_01)-C(vFrom_01)) then m = 1 end if C(vTo_01) < C(vFrom_01) and y < C(vFrom_01)+0.3*(C(vFrom_01)-C(vTo_01)) and y > C(vTo_01)-0.3*(C(vFrom_01)-C(vTo_01)) then m = 1 end if m == 1 then SetValue(i, 4, y) if i == index then v4 = y end end end if vTo_02 - vFrom_02 > 500 then vFrom_02 = vTo_02-500 end for i = vFrom_02, index do y = a_02*i + b_02 + vplus_02 m = 0 if C(vTo_02) > C(vFrom_02) and y < C(vTo_02)+0.1*(C(vTo_02)-C(vFrom_02)) and y > C(vFrom_02)-0.1*(C(vTo_02)-C(vFrom_02)) then m = 1 end if C(vTo_02) < C(vFrom_02) and y < C(vFrom_02)+0.1*(C(vFrom_02)-C(vTo_02)) and y > C(vTo_02)-0.1*(C(vFrom_02)-C(vTo_02)) then m = 1 end if m == 1 then SetValue(i, 6, y) if i == index then v6 = y end end y = a_02*i + b_02 - vminus_02 m = 0 if C(vTo_02) > C(vFrom_02) and y < C(vTo_02)+0.1*(C(vTo_02)-C(vFrom_02)) and y > C(vFrom_02)-0.1*(C(vTo_02)-C(vFrom_02)) then m = 1 end if C(vTo_02) < C(vFrom_02) and y < C(vFrom_02)+0.1*(C(vFrom_02)-C(vTo_02)) and y > C(vTo_02)-0.1*(C(vFrom_02)-C(vTo_02)) then m = 1 end if m == 1 then SetValue(i, 7, y) if i == index then v7 = y end end end last_ind = index end return v1, v2, v3, v4, v5, v6, v7, v8, v9, v10 end
Как и большинство других сырьевых товаров на рынках, цены на нефть обычно испытывали дикие колебания цен, чередующиеся между временами большого дефицита, высокого спроса и высоких цен и периодами избыточного предложения, низкого спроса и низких цен. Эти так называемые “ценовые циклы» на нефть, как правило, длятся несколько лет в зависимости от таких переменных, как спрос на нефть и объем добытой, переработанной и проданной крупными производителями нефти.
С первых дней коммерческого производства в Баку, Азербайджан, эти колебания цен были вызваны экономическими и политическими событиями, технологическими достижениями и изменениями в нефтяной промышленности и продолжают влиять на цены в настоящее время.
1 | 1862-1865 | Нефтяной Бум и Гражданская Война в США |
2 |
Я попробую небольшими частями изложить основные положения обобщенной теории опционов. При ее разработке не использовалась гипотеза о случайном поведении цены базового актива по причине того, что для большинства финансовых рынков ее невозможно ни подтвердить, ни опровергнуть. Обобщенная теория индифферентна по отношению к причинам ценовых изменений и в этом ее отличие от классической теории опционов, для которой гипотеза о случайном поведении цен является незыблемым основанием. Важно отметить, что в случае согласия с гипотезой классическая теория не вступает в противоречие с обобщенной, но оказывается ее составной частью. Отсюда и название “обобщенная”. Она должна понравиться тем, кто не очень хорошо разбирается в методах ТВ и МС, но хочет разобраться в опционах.
Постараюсь обойтись минимальным количеством формул, хотя совсем без математики не получится. Поэтому, если что-то будет непонятно, спрашивайте.
Размещать новые части я буду с частотой примерно раз в неделю, по мере их написания. Всего частей будет, наверное, четыре или пять.