Избранные комментарии трейдера java
Тимофей, как программист-программисту, отвечу:
"•не знаю как работать с параллельными вычислительными потоками" Предположим есть цикл
int[] result = new int[10];
for(int i = 0; i < 10; i++) {
// Тут какая то мощная вычислительная задача, где i допустим день за который надо посчитать данные
result[i] = i * i * i;
}
Если запускать именно так, то сначала посчитается за 1 день, потом за второй и т.д., программа по сути займет одно ядро процессора. Современные бытовые процессоры типа Core i7 обычно 4 ядра (8 потоков), т.е. выполняя этот цикл процессор будет загружен на 1/8 (12.5%). Остальные 87.5% мощности процессора — отдыхают. Как перделаем: добавим:
using System.Threading.Tasks; и перепишем цикл вот так:
Parallel.For(0, 10, i => {
// Тут какая то мощная вычислительная задача, где i допустим день за который надо посчитать данные
result[i] = i * i * i;
});
теперь загрузка процессора возрастет многократно! Нюанс: создавать большие объекты внутри Parallel.For крайне не рекомендуется (загрузка процессора упадет).
"•не знаю как работать с графическим интерфейсом вообще" Если это картинка, то надо копать в PictureBox (она показывает Bitmap). А рисовать надо на Bitmap, вот типа так:
Bitmap bmp = new Bitmap(100, 100, PixelFormat.Format24bppRgb); using (Graphics g = bmp.GetGraphics()) { g.Clear(Color.White); g.Draw… и рисуешь g.Flush(); } this.pictureBox.Image = bmp; вот и все.
"•не совсем понимаю как работать с большими объемами данных и как их лучше хранить " Большие массивы лучше хранить в 64-битном приложении (x64), т.к. 32-битные (x86) быстро дадут OutOfMemoryException. Лучше всего работать с массивами фиксированного размера int[] bigdata = new int[100*1000*1000]; лучше работать с целочисленными данными (тип byte, short, int, long), они всегда быстрее считались чем вещественные (float, double). Строки хранить крайне не рекомендуется (долго работает). Ну и правильно выбирать размер элемента, byte=1байт, short=2байта,int=4байта,long=8 байт Т.е. 100млн элементов типа int займет в памяти 400МБ, а лимит в .Net составляет 2ГБ на объект (т.е. 500млн элементов типа int, или 250млн типа long). Но тут еще одно ограничение — массив индексируется переменной типа int, а значит всего в массиве может быть только 2^32-1 элементов. Хотя можно создать 10массивов каждый по 2ГБ, и тогда приложение съест 20ГБ памяти :) Проверено. Если хочется очень большой массив, то гуглить в gcAllowVeryLargeObjects (надо в app.config добавить), тогда можно создать массив который займет 16ГБ памяти, вот так: long[] l1 = new long[2000 * 1000 * 1000]; Есть нюанс: в C# работает с массивами не так быстро, особенно плохо работает с массивами byte[] (тормозит!), такие массивы лучше обрабатывать в DLL (пишутся на C++) и вызывать из C#. Вот написание и вызов внешних DLL наверное выпало из вашего плана ;)
"•интерфейс WPF" не нужен, если вы не коммерческий разработчик, а для себя. Windows Forms вас удовлетворит на 100% в ближайшие 5 лет.
LINQ, PLINQ — тоже не особо нужны, хватит и простых конструкций
Денис, Так а хули праздники! Ты же все равно все в этот день закрыл. Они тебя спугнули комисом и процами за заемные за 12 дней и предложили сделать обратные операции.
Ты находясь в состоянии аффекта, начал лупасить по клавишам продавая с убытком открытые позиции и они тебе посчитали маржу отрицательную от сделок которые ты совершил своими руками.
Хули они там пугали комисом и процами за пользование, которых в итоге то и нет. Позы ты вернул в исходное состояние в тот же день. Переноса заемных не было а маржа в 28 мио посчитана с учетом текщих комисов.
Они тебя вытряхнули из позиции словестными интервенциями. Жесть!
к описанным плюсам опционов добавил бы возможность роллирования позиции, переходя с одного страйка на другой. Удобно «фиксировать» прибыль этим) Или же наоборот, если цена сильно ушла не в вашу сторону и купленные опционы сильно подешевели, можно практически безболезненно переходить на более выгодные страйки, сохраняя намеченную стратегию.
Но и про минусы опционов забыть не стоит. Если вы держите опцион до экспирации, то даже при движении в нужном вам направлении, вы все равно минимум теряется ту временную его стоимость, которая была на момент его покупки. Если это воспринимать как дополнительную комиссию, то она выходит неслабой. Фактически, реальная выгода от опционов выходит только при сильных движениях на рынке. Если же все идет медленно и вяло, а вы являетесь покупателем опционов, то вы вероятнее всего как минимум не зарабатываете, даже на движении в нужном вам направлении.
Еще из минусов опционов отметил бы существенные траты на комиссионные сборы биржей и брокером) Это надо учитывать любителям торговли дешевыми опционами, т.к. их берут помногу. Если взять для примера опционы на индекс РТС, то комиссия за регистрацию сделки — 4р, и если сделка будет скальперской, то еще 2р. Купили вы так например 10 опционов с премией 100, вроде дешевых, но по каким-то причинам решили в скором времени продать, вы уже за эти 10 опционов платите в случае скальперской сделки 60р, плюс, если комиссия брокера = комиссии биржи, то еще платите 60р брокеру. Итого купив и продав 10 опционов на индекс РТС в течение одной торговой сессии вы уже теряете 120р в виде комиссий. Один фьючерс в этом плане обошелся бы существенно дешевле: 2+1=3р + 3р(брокер)=6р.
Еще крайне существенный минус для меня у опционов — ликвидность! Если от фьючерса можно в любой момент с легкостью избавиться или наоборот легко его приобрести, то с опционами сделать это выгодно бывает затруднительно. Слишком часто спреды очень высокие и быстро открыть/закрыть позиции возможно лишь совершая невыгодную покупку или продажу. А бывает и вообще дикие ситуации, когда опционы сидят хорошо в деньгах, но их невозможно продать и зафиксировать прибыль по причине полного отсутствия ликвидности. Такая байда например в нефти. Пока вы будете пытаться закрыть позицию, рынок уже может отскочить и вы так и останетесь с опционами на руках, которых не смогли вовремя закрыть по выгодной цене по причине того самого отсутствия ликвидности.
В общем, нужно учитывать много различных моментов, во всем есть свои плюсы и свои минусы.
теории заговора это психологический феномен, связанный с потребностью мозга к поиску причинно-следственных связей — с одной стороны, и невозможностью построить непротиворечивую картину мира в силу низкого уровня знаний конкретного индивидуума — с другой.
лечится повышением уровня знаний