Pull to refresh

Погодные деривативы

Finance in IT
Теперь, когда некоторые хабровчане освоили морковные деривативы, можно переходить к более сложным и куда более реальным деривативам погодным. Использование погодных форвардов может показаться невероятным, однако рынок этих инструментов не просто существует, его объем в США превышает 40 млрд долларов.

Внимание: пост написан хабраюзером doz — ему и адресуйте все плюсы в карму, которой не хватило, чтобы разместить пост в тематическим блоге.

Update: пост был прочитан моей женой, которая занимается финансами да еще и делает мастера по этой специальности. Сказала, что «погодные деривативы» — это всего лишь крайне частный случай, и если понимать как деривативы работают вообще, то их можно делать на что угодно, хоть на здоровье Ее Величества Королевы, хоть на уровень осадков в Рио-де-Жанейро, главное — чтобы это было кому-то нужно. Однажды я попробую заставить ее написать сюда пост… (ваш sigizmund).

Что такое погодные деривативы?


Даже в нашем высокотехнологичном обществе мы все еще сильно подвержены влиянию погоды. От нее зависит, в чем мы сегодня выйдем на улицу и поедем ли на пикник. Неудивительно, что погодные условия также имеют значительное влияние на прибыль компаний многих отраслей: строительство останавливают при низких температурах, энергетические компании терпят убытки в случае теплой зимы, а парки развлечений — в случае холодного лета. Американскими исследователями подсчитано, что доходы около 20% экономики США напрямую зависят от погодных условий. Чтобы компании как-то могли защитить прибыль от капризов природы, существуют страховки. Однако они могут обезопасить только от резкого и существенного изменения погодных условий, которые происходят крайне редко. Компаниям же необходим более гибкий механизм, который позволит покрыть убытки и в случае обычных изменений температуры. Механизмами такого типа и стали погодные деривативы.
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Views 2.4K
Comments 8

QuikOrdersDOM — автоматизированная биржевая торговля

Self Promo
С ростом популярности автоматизированной биржевой торговли за последние несколько лет стали очень распространены программы, которые позволяют трейдеру быстро реагировать на изменение рыночной ситуации на сверхкоротких таймфреймах. Торговый автомат может сутками анализировать текущие потоки котировок из разных источников, выжидая благоприятный момент, а затем добавить сложную позицию из нескольких торговых инструментов в портфель меньше, чем за секунду.
Читать дальше →
Total votes 11: ↑6 and ↓5 +1
Views 3.9K
Comments 30

TradingView – онлайн платформа технического анализа на HTML5 и социальная сеть для трейдеров. Стартуем

TradingView corporate blog Website development *
Sandbox
Совсем коротко

TradingView.com – это социальная сеть для трейдеров, в основе которой лежит онлайн платформа технического анализа. Клиентская часть (чартинг или графики) реализована на HTML5 и это первый в мире инструмент для трейдеров такого уровня функциональности.

image

Читать дальше →
Total votes 86: ↑75 and ↓11 +64
Views 58K
Comments 80

Реактивный манифест

System Analysis and Design *Concurrent computing *
Translation
В последние годы требования к приложениям значительно изменились. Десятки серверов, время отклика в несколько секунд, оффлайновое обслуживание, которое могло длиться часами, гигабайты данных — такими были большие приложения буквально несколько лет назад. Сегодня же приложения работают абсолютно на всём, начиная с простых мобильников и заканчивая кластерами из тысячи процессоров. Пользователи ожидают миллисекундного времени отклика и стопроцентного аптайма, в то время как данные выросли до петабайтов.

Первоначально эту нишу занимали крупные инновационные интернет-компании типа Google или Twitter, однако такие требования к приложениям начали всплывать во многих областях индустрии. Финансовые и телекоммуникационные компании первыми начали внедрять новые практики, чтобы удовлетворить новым требованиям, а теперь подтягиваются и остальные.

Новые требования требуют новых технологий. Предыдущие решения делали упор на управляемые сервера и контейнеры. Масштабирование достигалось засчёт покупки более крутых серверов и использования многопоточности. Для добавления новых серверов приходилось применять комплексные, неэффективные и дорогие проприетарные решения.

Однако прогресс не стоит на месте. Архитектура приложений эволюционировала в соответствии с изменившимися требованиями. Приложения, разработанные на основе этой архитектуры, мы называем Реактивными Приложениями. Такая архитектура позволяет программистам создавать событийно-ориентированные, масштабируемые, отказоустойчивые и отзывчивые приложения — приложения, работающие в реальном времени и обеспечивающие хорошее время реакции, основанные на масштабируемом и отказоустойчивом стеке и которые легко развернуть на многоядерных и облачных архитектурах. Эти особенности критически важны для реактивности.

Читать дальше →
Total votes 24: ↑21 and ↓3 +18
Views 49K
Comments 15

Эффективная многопоточность в Python

Python *Django *
Sandbox
Хочу поделиться простым рецептом, как можно эффективно выполнять большое число http-запросов и других задач ввода-вывода из обычного Питона. Самое правильное, что можно было бы сделать — использовать асинхронные фреймворки вроде Торнадо или gevent. Но иногда этот вариант не подходит, потому что встроить event loop в уже существующий проект проблематично.

В моем случае уже существовало Django-приложение, из которого примерно раз в месяц нужно было выгрузить немного очень мелких файлов на AWS s3. Шло время, количество файлов стало приближаться к 50 тысячам, и выгружать их по очереди стало утомительным. Как известно, s3 не поддерживает множественное обновление за один PUT-запрос, а установленная опытным путем максимальная скорость запросов с сервера ec2 в том же датацентре не превышает 17 в секунду (что очень не мало, кстати). Таким образом, время обновления для 50 тысяч файлов стало приближаться к одному часу.

Питонисты с детства знают, что от использования потоков (тредов операционной системы) нет никакого толка из-за глобального лока интерпретатора. Но немногие догадываются, что как и любой лок, этот время от времени освобождается. В частности, это происходит при операциях ввода-вывода, в том числе и сетевых. А значит, потоки можно использовать для распараллеливания http-запросов — пока один поток ожидает ответа, другой спокойно обрабатывает результат предыдущего или готовит следующий.

Получается, всего-то нужен пул потоков, который будет выполнять запросы. К счастью, такой пул уже написан. Начиная с версии 3.2 для унификации всей асинхронной работы в Питоне появилась библиотека concurrent.futures. Для второй версии Питона есть бекпорт под именем futures. Код до безобразия прост:

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(concurrency) as executor:
    for _ in executor.map(upload, queryset):
        pass

Здесь concurrency — число рабочих потоков, upload — функция, выполняющую саму задачу, queryset — итератор объектов, которые по одному будут передаваться в задачу. Уже этот код при concurrency в 150 смог пропихнуть на сервера Амазона ≈450 запросов в секунду.
Читать дальше →
Total votes 31: ↑27 and ↓4 +23
Views 71K
Comments 12

Введение в futures-rs: асинхронщина на Rust [перевод]

High performance *Open source *Programming *Algorithms *Rust *
Tutorial


Этот документ поможет вам изучить контейнер для языка программирования Rust — futures, который обеспечивает реализацию futures и потоков с нулевой стоимостью. Futures доступны во многих других языках программирования, таких как C++, Java, и Scala, и контейнер futures черпает вдохновение из библиотек этих языков. Однако он отличается эргономичностью, а также придерживается философии абстракций с нулевой стоимостью, присущей Rust, а именно: для создания и композиции futures не требуется выделений памяти, а для Task, управляющего ими, нужна только одна аллокация. Futures должны стать основой асинхронного компонуемого высокопроизводительного ввода/вывода в Rust, и ранние замеры производительности показывают, что простой HTTP сервер, построенный на futures, действительно быстр.


Читать дальше →
Total votes 46: ↑46 and ↓0 +46
Views 13K
Comments 7

Сравниваем Java 8, RxJava, Reactor

Programming *Java *Development of mobile applications *Development for Android *
Recovery mode
Translation
От переводчика:
Я подготовил для вас адаптированный перевод с небольшими дополнениями и исправлениями. Я сохранил несколько пропагандистский стиль оригинальной статьи, но, сама по себе, информация в ней интересная, поэтому решил, все же, перевести.

Люди часто спрашивают меня:
Зачем мне вообще использовать RxJava или Reactor, если то же самое можно сделать с помощью Streams, CompletableFutures и Optionals?


image


Проблема, на самом деле, в том, что большую часть времени вы занимаетесь решением простых задач и вам действительно не нужны эти библиотеки. Но когда все усложняется, вам приходится писать какой-то уродский кусок кода. Затем этот кусок кода становится все более и более сложным и трудно поддерживаемым. В RxJava и Reactor есть много удобных функций, которые будут удовлетворять вашим потребностям еще долгие годы.


Давайте определим 8 критериев, которые помогут нам понять разницу между этими библиотеками и стандартными возможностями Java:

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 26K
Comments 6

Асинхронная бизнес-логика в наши дни

Open source *JavaScript *Programming *C++ *Node.JS *

Вкратце:


  • Пруф уже реализован на C++, JS и PHP, подходит для Java.
  • Быстрее чем coroutine и Promise, больше фич.
  • Не требует выделения отдельного программного стека.
  • Дружит со всеми средствами безопасности и отладки.
  • Работает на любой архитектуре и не требует особых флагов компилятора.

Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Views 14K
Comments 57

Миграция на инфраструктуру async-await в Rust

Programming *Rust *
Tutorial

birds migration
img source


На прошлой неделе для Rust комьюнити случилось огромное событие — вышла версия компилятора 1.39, а в месте с ней и стабилизация async-await фичи. В этом посте я постараюсь резюмировать все релевантные изменения в компиляторе и экосистеме, а также предоставить инструкции по миграции на async-await парадигму. Детального разбора асинхронности в Rust я делать не буду, есть всё ещё актуальные статьи на хабре, которые помогут войти в тему:


Читать дальше →
Total votes 45: ↑44 and ↓1 +43
Views 8.1K
Comments 20

Асинхронщина в Rust: Стандартная библиотека и async/.await

System Programming *Concurrent computing *Rust *
Tutorial


Введение


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


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


Сегодня мы рассмотрим API стандартной библиотеки для асинхронного программирования и сам долгожданный синтаксис async/.await.

Читать дальше →
Total votes 69: ↑68 and ↓1 +67
Views 17K
Comments 25

Я фантаст, я так вижу

Research and forecasts in IT IT career Business Models Finance in IT The future is here

На Хабре появляется масса интересных постов на тему проблем с поиском работы и быстро меняющегося рынка труда. Например, на прошлой неделе мы активно обсуждали оплату работы на удалёнке и её отличие от работы в офисе. Так же, мне всё чаще попадается на глаза нежелание многих людей становиться частью автоматизированной системы и протесты из-за любого вовлечения их в автоматические системы. Не скажу, что я против такой позиции, я даже в чём то её разделяю, но нам жить в такое время и нашим детям нужно учиться в этом жить.

У меня набралось четыре мысли на тему будущего рынка труда, организации трудовых отношений и бизнеса в целом, которых не вижу в сети. Именно поэтому я решил их сгруппировать в пост, чтобы с удовольствием обсудить их с вами и получить массу информации из ваших комментариев, а может и изменить наше будущее.

Если вы не любите дождь, не стоит грустить дома, дождь неизбежен, купите зонт.

Пофантазировать в комментариях
Total votes 8: ↑7 and ↓1 +6
Views 3.8K
Comments 36