|
|
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
1. Есть такая вещь в кредитовании как график погашения основного долга ((debt/principal) repayment schedule) и график уплаты процентов ((interest) payment schedule). Также могут быть графика уплаты комиссий. 2. В моем случае все эти графики выгружаются в базу в виде: Филиал_банка Номер_Кредитного_Договора Тип_платежа - по основному долгу/уплата процентов/уплата комиссий и т.д. Дата Сумма 3. Ключом в данной структуре (на мой взгляд!) является связка полей: Филиал_банка + Номер_Кредитного_Договора Причем ключ этот не уникален. Пример Код: plaintext 1. 2. 3. 4. В случае уплаты клиентом денег график пересчитывается. Если клиент платит деньги по графику, то новый рассчитанный график будет совпадать со старым, если клиент досрочно платит, то новый график будет не совпадать со старым. Новый график приходит полностью (фактическая+плановая часть). График принято делить на фактическую часть (то что уже реально уплачено) и плановую (то что клиент должен будет уплатить). Хранить нужно все рассчитанные по договору графики. Конечно если графики полностью совпадают, то можно хранить только 1 экземпляр указав, например, период его (экземпляра) действия. Вопрос. Как правильно хранить графики 1. По записям или блоком (экземпляром). 2. Периодом (дата_с дата_по) или срезом (все графики на дату). Если был такой опыт - подскажите. Объемы. Всего около 350 тыс. открытых кредитных договоров В среднем график погашения содержит около 24 записей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.11.2008, 23:21 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
blacksun1. Есть такая вещь в кредитовании как график погашения основного долга ((debt/principal) repayment schedule) и график уплаты процентов ((interest) payment schedule). ... 3. Ключом в данной структуре (на мой взгляд!) является связка полей: Филиал_банка + Номер_Кредитного_Договора Причем ключ этот не уникален. Вопрос. Как правильно хранить графики 1. По записям или блоком (экземпляром). 2. Периодом (дата_с дата_по) или срезом (все графики на дату). Не совсем понятны вопросы. Что значит "хранить блоком"? Ключом лучше сделать ID договора (surrogate key). Я думаю, надо также добавить информацию о том, оплачена ли каждая конкретная "запись" этого графика. Можно просто добавить информацию о том, сколько уже оплачено (если допускается частичная оплата) Что-то вроде Код: plaintext 1. 2. 3. 4. 5. 6. Если частичная оплата не допускается, можно обойтись просто булевским флагом (например, "isPaid"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 09:17 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
Хранить блоком, это значит хранить целиком. Все записи по данному договору в днном филиале. Номер договора уникален только в разрезе филиала. Ставить оплачен или нет платеж нельзя это нужно будет вычислять. да и дело не в этом. Если платеж не оплачен, график не меняется, а вот если платеж оплачен ранее чем по графику , то график меняется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 09:33 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
blacksun 1)Хранить блоком, это значит хранить целиком 2) Ставить оплачен или нет платеж нельзя это нужно будет вычислять. да и дело не в этом. 3) Если платеж не оплачен, график не меняется, а вот если платеж оплачен ранее чем по графику , то график меняется. 2) Вы собираетесь вычислять, оплачен платеж или нет, _каждый_ раз, когда это потребуется ? Насчет быстродействия никаких беспокойств нет? 3) Если используются аннуитетные платежи, то обычно в таких случаях платеж списывается точно по графику. Если от клиента поступил платеж, в несколько раз превышающий очередную оплату, то в ближайшую дату погашения списывается только величина очередного платежа, остальное остается на счете клиента, пока не наступят даты погашения следующих платежей. (Хотя, возможно, у вас применяются другие алгоритмы). PS. Насчет 1) так и не понял вопрос :). Может быть приведете пример, что значит в данном случае "хранить целиком"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 09:48 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
Мне вычислять ничего не нужно. Графики рассчитываются и пересчитываются в другой системе. Мне же только нужно сохранить выгружаемые графики. Но хранить нужно не только последний рассчитанный график, но и всю историю. Например были такие графики Графики выгруженные 15.01.2008 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Графики выгруженные 02.02.2008 Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. См. примеры выше. 2-го февраля клиент договора 1003 погасил свой очередной платеж. Погашение было досрочным. График пересчитался. Хранить целиком - все записи по первому и новому графику т.е. для результирующий набор будет такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 10:42 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
Ok, теперь понятно. IMHO, тогда в текущей таблице хранить только актуальные графики, а "старые" графики выносить в отдельную таблицу (что-то вроде "history"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 10:51 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
tdvqOk, теперь понятно. IMHO, тогда в текущей таблице хранить только актуальные графики, а "старые" графики выносить в отдельную таблицу (что-то вроде "history"). Что это даст? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 11:01 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
В "основной" таблице будут храниться только те данные, которые актуальны на текущую дату. Какие запросы планируется получать, используя прежние версии графиков? Какую-то аналитику/статистику или что-то еще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 11:11 |
|
||
|
Как хранить графики погашений
|
|||
|---|---|---|---|
|
#18+
не вижу смысла хранить все предыдущие графики, например посмотрите на любую пробышленную АБС... в одной из них есть связи с фактическими операциями гашения, соотвественно все что до даты например досрочного погашения изменить в принципе не возможно (да и смысла не имееет) соотвественно если клиент пришел платить досрочно, или например наше государство сдвинуло/изменило выходные дни - график пересчитывается от текущей даты... кстати не забывайте что согласно закону %% за год должны ТОЧНО соответствовать графику, но поскольку в графике например аннуитетного платежа они считаются корректно, а банку выплачивается ежемесячно проценты, то практически всегда на копейку другую факт с планом не сходиться (проверено практикой) - соотвественно функционал красивого (правильного с точки зрения законодательства) пересчета нужен в любом случае и без связки с факт. платежами не обойтись если по теме - сделал бы так табличку ID договора Тип платежей (аннуитет, одинаковыми суммами основной долг, по факту) Процентная ставка Дополнительные коммиссии ежемесячные/ежеквартальные Дата платежа Сумма гашения основного долга Сумма гашения процентов Остаток ссудной задолженности Сылка на фактическую операцию платежа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.11.2008, 11:21 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35678451&tid=1543548]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
196ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 502ms |

| 0 / 0 |
