Home | Trees | Indices | Help |
|
---|
|
Котировка - это цена товара. Так как цена понятие всегда относительное, необходимо знать в каких единицах измеряется эта цена (можно же подсчитать, сколько попугаев стоит один доллар:). Поэтому c котировкой всегда связываются два товара: числитель и знаменатель котировки.
В зависимости от того, какой товар в котировке является "базовым", котировки делятся на прямые и обратные (косвенные).
Прямая котировка указывает цену единицы объекта торговли (1.20 доллар/1 литр бензина) и цена единицы указывается в числителе котировки.
Обратная котировка показывает - сколько единиц товара мы можем купить за единицу денег (0,83 литра бензина/1 доллар). В числителе обратной котировке указывается объем товара, который можно приорести за единицу денег.
Кроме того, котировки бывают односторонними и двусторонними.
Односторонняя котировка - это объявление одной цены (покупки или продажи, Price).
Двусторонняя котировка - это объявление цены покупки и цены продажи дилером (DualPrice).
С основным объектом - котировкой - связываются второстепенные: товар, единица товара, данные котировки.
Товар - это
объект, участвующий в котировке (Item
). Это
тот объект, который указывается либо в числителе, либо в знаменателе.
Товаром также считается и валюта.
Единица товара - определяет в какой размерности представлен объем товара в котировке (например, котировка 10 Гривен/1 Рубль отражает стоимость 10 гривен при покупке их за рубли. В терминологии системы 10 Гривен - это виртуальная единица (Unit)).
Курс - зафиксированная в определенное время цена товара (Price).
Данные котировки по отношению к котировке образуют связь многие к одной.
Кроссовая котировка отличается от обычной только методом расчета, но в конечном счете сводится к модели числитель/знаменатель. Примером кроссовой является котировке EUR/USD при расчете её через курс рубля.
Котировка дается в виде числа s: s = x/y, где x - количество единиц числителя, y - количество единиц знаменателя.
Очень часто требуется ответить на вопросы:
Для расчета цены числителя в единицах знаменателя (Price.numeratorCost) используем формулу n = ys/x.
Для расчета цены знаменателя в единицах числителя (Price.denominatorCost) - d = x/ys.
Очевидно: n = 1/d.
Часто требуется вычислить величину изменения значения котировки. В таком расчете участвуют два значения котировки - текущее и предыдущее.
Абсолютное изменение котировки вычисляется просто (absolutePriceDelta): c = v - v', где v - текущее значение котировки, v' - предыдущее значение котировки.
Относительное изменение котировки вычисляется в процентах от предыдущего значения (relativePriceDelta): o = (c / v') * 100.
Абсолютное изменение может быть вычислено всегда. Отнсительное - при условии присутствия предыдущего ненулевого значения (см. safeRelativePriceDelta).
При вычислениях используется тип stocks_ft. Для изменения этого типа следует использовать set_stocks_ft.
Модуль считает с той точностью, которая достижима при заданных входных. значениях. Но, можно заставить модуль выдавать значения с той точностью, которая необходима нам. Таким полезным свойством обладает класс PrecisionController. Если через него пропускать необходимые нам значения, то они будут выданы с нужной точностью.
По умолчанию контроль точности не выполняется, то есть используется специальный контроллер - pseudoPrecisionController.
В качестве вспомогательного элемента используется декоратор precision_control, в который заворачиваются все функции, контролируемые по точности.
Все классы, которые сами управляют точностью, являются потомками класса Refined.
Author: Zasimov Alexey
|
|||
stocks_ft Этот тип используется во всех расчетов в этом модуле. |
|||
Stock Товар - любой объект, который имеет цену. |
|||
Unit Единица измерения количества довара, например, доллар. |
|||
StockWithUnit Товар с единицей измерения количества, например, бензин в литрах. |
|||
Quote Котировка - описывает отношение между ценами товаров. |
|||
PseudoPrecisionController Контроллер точности, который ничего не делает :) |
|||
PrecisionController Пропускает через себя значения, изменяя их точность. |
|||
Refined От этого класса порождаются все классы, которые сами управляют точностью. |
|||
AbstractPrice | |||
Price Значение котировки (курс, price) за какое-то число. |
|||
DualPrice |
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
__email__ = "zasimov-a@yandex-team.ru"
|
|||
pseudoPrecisionController = PseudoPrecisionController()
|
|
Расчет относительного изменения котировки в условиях возможного отсутствия предыдущего значения или нулевого предыдущего значения. Всегда возвращает значение. Исключение в этой функции - ненормальный результат.
|
Home | Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Wed Jul 20 17:49:36 2011 | http://epydoc.sourceforge.net |