Я пытаюсь вычислить значения финансовых хеджирования, но я хочу, чтобы вход был как можно более простым. Так, например, у меня есть контракт с количеством 1000 в месяц с 1/1/2017 по 12/31/2018 (это не всегда будет этот диапазон дат, это может быть 1 месяц или 3+ года) с цена исполнения $ 3. Я хочу ввести только 1 строку данных в 4 столбца: [Volume], [Start], [End], [Strike].SQL Server: список месяцев между диапазонами
Проблема заключается в том, что мне нужно умножить данные 2017 по одной цене и 2018 по другой цене. Легким ответом было бы ввести строку для 2017 года и строку для 2018 года, но я не хочу этого делать, потому что у меня может быть 50 или более контрактов для входа, и я хочу сделать как можно меньше ввода.
Я бы использовал две колонки [год], [Цена] из ценового стола. Это будет выглядеть как [2017], [4.50] и [2018], [5.25]. Я могу легко изменить это, чтобы быть ежемесячным, а не годовым, если это помогает упростить ситуацию.
мне нужно окончательный расчет, чтобы быть вдоль линий:
2017: 11,000 * (3 - 4.50) = -$16,500
2018: 12,000 * (3 - 5.25) = -$27,000
Total value = -$43,500
Так что мой вопрос, как я могу получить количество месяцев за каждый год в диапазоне?
Я хотел бы выход быть что-то вроде
2017, 11
2018, 12
Все, что вы хотите, - подсчитать количество месяцев в году в диапазоне дат? –
Контракты всегда начинаются/заканчиваются в начале/конце месяца, или они могут быть в середине месяца? –
@JorgeCampos Да, я считаю, что это все, что я хочу. – FilburtShellbach