Избранное трейдера Андрей Вячеславович (Ganesh)
Settings = { Name = "GAZPROM_USD", tag = "GAZP", tag1 = "GAZP_USDRUB", line= { {Name = "line1", Color = RGB(0, 0, 255), Type = 1,Width = 1} } } vPrice=1; function Init() return 1 end function OnCalculate(index) local vOutFlag=0; local vGazp =(getCandlesByIndex(Settings.tag, 0, index-1, 1)[0].close or 1) ; local vUSDRUB=(getCandlesByIndex(Settings.tag1, 0, index-1, 1)[0].close or 1); if vGazp>0 then vOutFlag=1; else vOutFlag=0; end; if vUSDRUB>0 then vOutFlag=1; else vOutFlag=0; end; if vOutFlag > 0 then local Out = vGazp/vUSDRUB; vPrice=Out; end; return vPrice end3. В Квике создаем график с курсом доллара (USDRUB_TOM).
--переменные keyRateCB = 7.5 classCode = "TQOB" function CreateTable() t_id = AllocTable() AddColumn(t_id, 0, "Бумага", true, QTABLE_STRING_TYPE, 15) AddColumn(t_id, 1, "Цена", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 2, "Доходность, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 3, "Дюрация, лет", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 4, "Купон, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 5, "Премия к ЦБ, бп", true, QTABLE_INT_TYPE, 15) AddColumn(t_id, 6, "Погашение", true, QTABLE_STRING_TYPE, 15) t = CreateWindow(t_id) SetWindowCaption(t_id, "ОФЗ") end function string.split(str, sep) local fields = {} str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end) return fields end function getParamNumber(code, param) return tonumber(getParamEx(classCode, code, param).param_value) end function formatData(prm) return string.format("%02d.%02d.%04d", prm%100, (prm%10000)/100, prm/10000) end CreateTable() arr = {} sec_list = getClassSecurities(classCode) sec_listTable = string.split(sec_list, ',') j = 0 for i = 1, #sec_listTable do secCode = sec_listTable[i] securityInfo = getSecurityInfo(classCode, secCode) short_name = securityInfo.short_name if short_name:find("ОФЗ 26") ~= nil then j = j + 1 r = {} r["short_name"] = short_name r["price"] = getParamNumber(securityInfo.code, "PREVPRICE") r["yield"] = getParamNumber(securityInfo.code, "YIELD") r["duration"] = getParamNumber(securityInfo.code, "DURATION")/365 couponvalue = getParamNumber(securityInfo.code, "COUPONVALUE") couponperiod = getParamNumber(securityInfo.code, "COUPONPERIOD") r["coupon"] = ((365/couponperiod) * couponvalue)/10 r["bonus"] = (r["yield"] - keyRateCB)*100 r["mat_date"] = getParamNumber(securityInfo.code, "MAT_DATE") table.insert(arr, j, r) end end table.sort(arr, function(a,b) return a["duration"] < b["duration"] end) for j = 1, #arr do row = InsertRow(t_id, -1) SetCell(t_id, row, 0, arr[j]["short_name"]) price = arr[j]["price"] SetCell(t_id, row, 1, string.format("%.2f", price), price) yield = arr[j]["yield"] SetCell(t_id, row, 2, string.format("%.2f", yield), yield) duration = arr[j]["duration"] SetCell(t_id, row, 3, string.format("%.2f", duration), duration) coupon = arr[j]["coupon"] SetCell(t_id, row, 4, string.format("%.2f", coupon), coupon) bonus = arr[j]["bonus"] SetCell(t_id, row, 5, string.format("%.0f", bonus), bonus) mat_date = arr[j]["mat_date"] SetCell(t_id, row, 6, formatData(mat_date), mat_date) end
Прихожу я сегодня такая классная в Сбербанк, а там милая барышня так воодушевленно мне:
— Давайте мы Вам защиту от мошенников подключим? На все счета, все карты, вообще на все, устанавливается на год, стоит 1 161 руб. в год. Давайте? Отличная штука!
Пауза. Она улыбчиво и пристально на меня смотрит, с нетерпением ожидая положительный ответ. В связи с нынешней неповоротливостью моей шеи у меня поднялась только бровь, и все мое недоумение вдруг оказалось на моем лице. Закипание началось, но физическая ограниченность сдерживала эмоциональный напор:
— То есть Вы, как банк, не в состоянии в рамках своей обычной хозяйственной, лицензируемой деятельности и в соответствии с требованиями, предъявляемыми к банкам, обеспечить безопасность моих денег, операций и предлагаете мне эту безопасность за 1 161 руб. в год?
А она улыбается и продолжает:
— Ну, это же мошеннические действия, мы-то здесь причём? Мы только операции проводим по счётам, а от мошенников Вы сами должны защищаться.
Поддержку российской валюте, оказывает успешное размещение облигаций Минфином. В частности, по итогам сегодняшнего размещения были размещены ОФЗ на общую сумму 10 млрд. рублей по средней ставке 8,42%. Индекс государственных облигаций RGBI на этом фоне уверенно растет, поддерживая рубль. В дополнение в этом месяце ожидаются довольно высокие налоговые выплаты, что в дальнейшем продолжит оказывать поддержку российской валюте. Поэтому сильное ослабление рубля в ближайшем будущем имеет не очень высокую вероятность.
Ближайшая сильная поддержка по паре доллар/рубль находится в районе 65-65,3, евро/рубль – 75,2-75,4.
Не подумайте плохого в части нормальности, речь пойдет не о психиатрии, а об известном в теории вероятностей нормальном распределении
А точнее даже не о нем самом, а об известной центральной предельной теореме (ЦПТ) применительно к ценам. Что такое центральная предельная теорема в ее классическом виде?
Пусть нам дана некоторая сумма большого числа случайных величин Х=х1+…+хN где каждое слагаемое имеет конечную и ненулевую дисперсию (как мы увидим далее в приложении к ценам это условие выполняется). Человечество давно еще с 18 века (Муавр и Лаплас) заинтересовал вопрос распределения случайной величины Х или хотя бы его более-менее точного приближения.
Не будем слишком строги в определениях всяких сходимостей и их скоростей, а сформулируем классическую ЦПТ в виде интуитивно понятного, но нестрогого термина «близости». Так вот, если xi – независимы (кто хочет может посмотреть строгое определение независимости, а для менее пытливых скажу только, что корреляция двух независимых случайных величин с конечными дисперсиями – нуль, хотя и обратное не верно), то распределение Х при достаточно больших N практически не отличается от нормального распределения со средним А и дисперсией D, где А – сумма средних x