Как стать автором
Обновить

Комментарии 41

вы имеете в виду какое «практическое» применение у ПСК и зачем это нужно?
Именно это, и в целом что это за величина.
Дело было так:
В свое время банки регулярно пользовались «финтом ушами» — писали что кредит выдается «под 3% годовых!», но при этом ставили какие-то варварские комиссии и т.п. В итоге предложение «взять кредит под 3% годовых» в действительности превращалось в 40% годовых.
Затем лавочку с комиссиями прикрыли и начались всякие новые ухищрения — плавающая процентная ставка, обязательная страховка ну и далее по списку.

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

Но затем случилось следующее: микрофинансовые организации, выдающие «займы до зарплаты», забили тревогу, т.к. у них ПСК получалось овер стопицот миллионов процентов годовых, что могло «шокировать» заемщика. Лоббисты лоббировали-лоббировали да вылобберовали: в формулу расчета ПСК внесли изменения, которые учитывают «специфику небольших займов под большие проценты».
Честно говоря, в нынешней редакции я понятия не имею, что показывает ПСК. Вот :)
Получается (грубо говоря) это что-то вроде «конечной годовой ставки»? То есть чем она ниже — чем лучше? Просто сама аббревиатура ПСК меня смутила, что она выражается в процентах, а не абсолютных величинах.

Кстати, можно ли однозначно сказать — после 1 сентября будет выгоднее брать кредит / не выгоднее / так же, только теперь нагляднее видны предложения?
Да, это что-то в этом роде.

Чем ниже ПСК у какого-то кредита, тем он выгоднее для заемщика — это однозначно.
Ее просто кучу раз переименовывали. Раньше называли «эффективной процентной ставкой». Русский язык богат неоднозначностями и двусмысленностью — поэтому как ни назови — будут думать по-разному.
Будет нагляднее — но если нет башки, то чтобы туда не писать — все равно заемщик попадает в кабалу. (по оценкке Forbes уровень финансовой крамотности населения РФ — 4-5%, в то время как в Германии — 40% и выше. Грамотность меряли — задавая обычные задачки по бытовой бухгалтерии — рассчитайте сумму % по депозиту на 3 года — если вы кладете 100 тьс а получите 150 тыс по окончании, посчитайте LTV — уровень ваших долговых обязательств по отношению к доходу, какая должна быть минимальная з/п для того чтобы тратить на себя NN тыс и платить YY за автомобиль и пр.)

С другой стороны — сами банки трансформируются — бардак заканчивается. Скажем по беззалоговым кредитам — % ставка только будет повышаться. Слишком много народа берет кредиты в размере 4-5 месячных зарплат — а потом влипают на невозможность их погашения и просрочки. Банк старается это компенсировать спекулятивной % ставкой — но получается только хуже — уже для новых заемщиков. Просрочка расчет быстрее кредитного портфеля. Поэтому — говоря языком специалистов — рынок беззалогового кредитования «перегрет» и крайне раздут — даже по меркам США и ЕС.
А вот иные кредиты — кредиты с залогами ( квартира, ипотека, автомобиль, дача и пр) — наоборот, сильно недоразвит. Но это тяжелее — надо собирать документы на имущество, его оценивать по справедливой рыночной цене, решать вопросы его реализации. Пока это занимает слишком много времени — поэтому в 2014 году банки озабочены ускорением и упрощением работы (ч/з автоматизацию разумеется) с такими кредитами. Станет полегче. И % ставка по ним будет падать
Третий «кредитный тренд» — кредиты малому бизнесу и прочим ИЧП. Они сейчас берут кредиты себе на дело — как «физики» — так проще и быстрее. А вот если «прикидываться» юриком — то сильно процедуры проверки дольше и неприятнее. Надо упростить и эти кредиты до скорости беззалоговоых кредитов.
Так а где, в итоге, пример расчета-то?
Если уж все равно задействовать эксель, то там есть встроенная функция ЧИСТВНДОХ, которая как раз и считает что нужно. Результат вашего кода с ней совпадает?
Пример расчета по ссылкам.

ЧИСТВНДОХ считает по формуле:
image

Такая формула ПСК действует сейчас и прекратит действие с 1 сентября 2014 года.

ФЗ от 21 июля 2014 г. N 229-ФЗ «О внесении изменений в статью 6 Федерального закона „О потребительском кредите (займе)“ вносит изменения в формулу.
Больше ЧИСТВНДОХ не подходит.
Ясно. Спасибо.
Тем не менее, я ожидал увидеть пример расчета в статье.
Я, в общем, ожидал формулу, позволяющую пересчитать от того чудо-юда, которое никому нафиг не интересно, обратно в ЧИСТВНДОХ. Как сам топикстартер сказал — никакого смысла в том, что теперь, с учётом новых правил, будет выдаётся за ПСК нету. А в том, что действует сейчас — есть. Ну значит обычному человеку нужна не программа высчитывающая загадочные числа, а наоборот — программа, которая может пересчитать всё обратно.
В этой статье (в принципе относящейся только к трудящимся в финансовой сфере), я бы хотел привести пример расчета ПСК.

Я в принципе изначально указал, что статья в первую очередь для тех, кому предстоит это чудо-юдо в ближайшее время внедрять во вполне себе реальные документы.
Но вот на Хабре большая часть народа — не финансисты. И как раз таки гораздо более интересен вопрос «На что ориентироваться с 1 сентября нам, потребителям? Как понимать процентную ставку теперь?»
На Хабре бОльшая часть IT-шников, которые будут реализовывать этот функционал для финансистов :)
Вы хотели сказать IT сообщников, которые будут помогать обирать потребителей. (шутка)
Смысл в новой формуле есть.
1) Не приводит к искажениям на малые сроки и на малые суммы
2) Если нет никакой иной платы за кредит, кроме процентов — то ПСК равна этой процентной ставке
3) Удобно для аннуитетов — для ежемесячных (еженедельных) платежей не надо считать степени — все считается «на калькуляторе»
Само название функции «чисто дох..» как бы намекает, что «стоимость потребительских кредитов» неоправданно высока.
Она совпадает на «старых кредитах», с 1 сентября 2014 г она не будет (и не должна) совпадать
Хаха! Я тут как раз на аутсорсе пишу программу учета для одной из таких контор по «микрокредитованию до зарплаты».
Условия там такие — фирма выдает от 10 до 30 тысяч денег на срок от 10 до 30 дней, и берет за это 2% от суммы в день. Но эти 10 — 30 дней считаются «льготным периодом». Договор с клиентом заключается на 60 дней, и если клиент задержал выплату, то в оставшиеся дни с него берется 4% в день. А если клиент просрочил и все 60 дней, то по закону с него можно брать в день только 0.1% от суммы долга, накопившегося к этому времени.
После появления закона я, бухгалтер, юрист и руководство фирмы долго его курили, пытаясь постигнуть сакральный смысл числа i и прочих значений в этих расчетах. Не достигнув дзена, мы вполне справедливо решили, что любая проверяющая организация запарится вычислять ПСК по этим формулам, и поступили очень просто: у нас ПСК = 2 * ЧислоЛьготныхДней + 4 * (365 — ЧислоЛьготныхДней).
В результате, если клиент взял 30 тысяч на 30 дней, ПСК = 1400! Клиент в шоке, фирмачи потирают руки, все довольны.
Коллеги, если вы можете предложить более разумную формулу расчета в моем случае, моя благодарность не будет иметь границ в пределах разумного! :)
ну всё просто. ПСК считается на случай, если клиент платит строго по графику, т.е. он ничего не «просрочил». Так что нужно просто определить переменную bp и указать в функции из статьи корректные входящие данные.
чтобы определить bp нужно только знать, насколько часто совершаются платежи? раз в неделю/две или раз в месяц?

просто меняйте переменную bp в функциях.
bp=7 если раз в неделю
bp=14 если раз в 2 недели
bp=30 если раз в месяц

дальше просто передаете в функцию корректные входящие данные (график платежей) и вот вам пск :)
Платеж совершается один раз, всего один, и должен он совершаться по истечению льготного периода. Но можно заплатить и после, в течении 60 дней, правда уже с другой процентной ставкой. А в договоре нужно написать «в процентах годовых». Получается, что число платежей = 1, а процентная ставка плавает. Берем БП = 1 день, ЧБП = 365 (или нет??), вычисляем ПСК для базового периода по 2%, остальные дни года считаем по 4%, пробуем подставлять в формулу, мозг закипает… Плюем на все и вычисляем так как я написал выше.
Для микрофинансовых организаций % ставка и правда может превышать сотни процентов. Вместе с тем — на малых суммах — важна скорее не исходная сумма, а сколько тебе надо вернуть.
Поэтому в МФО эту дополнительную сумму называют «сумма переплаты». По поводу льготных дней (кредитные каникулы) — то чего то вы перемудрили. Классическая схема МФО — дают сумму до 10 тыс. руб (по закону до 1 млн), и требуют ее вернуть в течение месяца. Например еженедельно равными долями. При схеме — вернешь ч/з месяц 12 тысяч — ПСК действительно будет 20*12=240% годовых
Это типичные «кредиты до зарплаты» для нищенствующего слоя населения. Поэтому МФО сильно развиты скажем в Индии.

А зачем вы посчитали 4%? Ведь это как я понял «штрафные» проценты, которые клиент заплатит — если только не попадет в интервал 10-30 дней? Изначально, при заключении договора (там где печатается в верхнем правом углу ПСК) — я бы возможные пессимистические % по пессимистическому сценарию — не писал.
Ваша ПСК явно 2*365 = 730%
вообще нужно посмотреть точную формулировку из договора.

Но если я все правильно понял — ваш случай вообще элементарный, т.к. производится всего один платеж.
в соответствии с законом вы должны рассматривать «худший» для заемщика вариант. В вашем случае худший вариант это:

1. Заемщик берет Х рублей
2. Худший вариант в период начисления процентов — он гасит платеж через 60 дней, тогда сумма платежа У вычисляется так:
У=Х(тело займа)+30*2%*Х(проценты за льготный период)+30*4%*Х(проценты за нельготный период)=280%*Х

БП=60 дней (т.к. это срок платежа, установленный договором).
ЧБП=6

Далее решаем обычное уравнение (находим i):
-X + 2.8*X/(1+i) = 0
i=1,8

Теперь ПСК:
ПСК=i*100*ЧБП=1,8*100*6=1080

Очень, очень интересно. Момент в законе про «худший» вариант я как-то пропустил. Если принять его во внимание, все резко упрощается и вы, пожалуй, правы. Сердечно благодарю. Попробую предложить ваш вариант расчета своим фирмачам, думаю они будут рады резкому снижению ПСК :)
Еще раз спасибо.
по поводу худшего варианта — ФЗ-353 Статья 6, пункт 7:
7. В случае, если условиями договора потребительского кредита (займа) предполагается уплата заемщиком различных платежей заемщика в зависимости от его решения, расчет полной стоимости потребительского кредита (займа) производится исходя из максимально возможных суммы потребительского кредита (займа) и сроков возврата потребительского кредита (займа)…
НЛО прилетело и опубликовало эту надпись здесь
С пенями на досрочную выплату можно послать — это законодательно отменено уже давно.
Единственное, что если ты закрываешь больше определённой суммы сразу (вроде бы 600 тыр), то обязан показать источник этих средств. Сталкивался с тем, что люди брали авто в кредит (ради скидок, бесплатной каски и прочих бонусов), а в конце первого месяца его закрывали.
Как обычно законом не покрываются скрытые платежи типа стоимости кассовых операций

Такое еще существует? Это законно?

или пенёй на досрочную выплату.

Запретили их уже давно.
Вы описываете ситуацию в банковской сфере году так в 2000))

при расчете ПСК учитываются все комиссии и прочие платежи, которые возникают у заемщика вследствие заключения договора. Также кредитор обязан предоставить заемщику БЕСПЛАТНЫЙ способ исполнения обязательств.

Также при расчете ПСК предполагается, что заемщик платит «нормально», т.е. не допускает просрочек и все строго по графику. пени на досрочную выплату запрещены уже давно.
НЛО прилетело и опубликовало эту надпись здесь
Можете пояснить формулу для Ek, а именно почему берется срок от даты выдачи?
По вашей формуле у меня получился такой JS (на основе ответа). Есть небольшая разница в ответе, но решение находится не перебором.
Ek — срок выраженный в долях базового периода с момента завершения Qk-го базового периода до даты k-го платежа.

Сначала нужно вычислить сколько дней прошло с момента завершения к-го базового периода до дня платежа, вычисляем по формуле (обозначим как d):
d=(кол-во дней до платежа)-(k*БП), также эту формулу можно переписать так:
d=mod[ (количество дней до платежа) /БП ]

если теперь выразить в долях от базового периода:
Ek=d/БП=mod[ (количество дней до платежа) /БП ] / БП

Почему берется именно срок от выдачи займа — вообще можно считать и по-другому, но так элементарно проще. Фактически мы на основании первоначального графика платежей берем «нулувой» датой — дату выдачи.
Строго в соответствии с определением из закона:
d = Дата_платежа(к) — (Дата_выдачи + bp*k), что очевидно можно записать и вот так:
d=(кол-во дней до платежа)-(k*БП)
Немного дополню. В исходной формуле на Excel стоит БП = 30, но это конечно не так — надо проверять частотность и потом брать из нее наименьшую. Я не спец по VBA Excel — может как-то проще можно было, но вот скорректированный макрос, который это учитывает
— Sub Кнопка1_Щелчок()
Dim dates()
Columns(«A:A»).Select
dates() = Application.Transpose(Range(ActiveCell, Cells(Rows.count, ActiveCell.Column).End(xlUp)))

Dim summa()
Columns(«B:B»).Select
summa = Application.Transpose(Range(ActiveCell, Cells(Rows.count, ActiveCell.Column).End(xlUp)))

Dim m As Integer
m = UBound(dates)

'Считаем интервалы БП по графику
ReDim BPall(m)
For k = 3 To m
BPall(k) = dates(k) — dates(k — 1)
Next
'подсчитываем частотность — 1000 это максимальный временной период между платежами в графике
Dim Freq(1000) As Integer
For k = 1 To 1000
Freq(k) = 0
Next
For k = 3 To m
Freq(BPall(k)) = Freq(BPall(k)) + 1
Next
'получаем период с самой наибольшей частотой
mmax = Freq(1)
For k = 1 To 1000
If mmax < Freq(k) Then mmax = Freq(k)
Next k
'берем с наименьшим БП, если одинаковая частотность
bpmin = 1000
For k = 1 To 1000
If mmax = Freq(k) And k < bpmin Then bpmin = k
Next k

'определяем Базовый период
bp = (bpmin)

cbp = Round(365 / bp)

ReDim Days(m)
For k = 2 To m
Days(k) = dates(k) — dates(2)
Next

ReDim e(m)
ReDim q(m)

For k = 2 To m
q(k) = Days(k) \ bp
e(k) = (Days(k) Mod bp) / bp
Next

R = 0
x = 1
x_m = 0
s = 0.0000001
Do While x > 0
x_m = x
x = 0
For k = 2 To m
x = x + summa(k) / ((1 + e(k) * R) * ((1 + R) ^ q(k)))
Next
R = R + s
Loop
If x > x_m Then
R = R — s
End If

psk = Round(R * cbp, 5)

Cells(3, 7).Value = psk

End Sub
----------
Вот еще подправил. Вместо исходного метода итераций — сделал поиск экстремума методом деления пополам. Существенно возросла скорость расчета, при этом можно повышать и точность.
=======
    Public summa()
    Public e()
    Public q()
    Public m As Integer
    
Sub Кнопка1_Щелчок()
    Dim dates()
    Columns("A:A").Select
    dates() = Application.Transpose(Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(xlUp)))

    Columns("B:B").Select
    summa = Application.Transpose(Range(ActiveCell, Cells(Rows.Count, ActiveCell.Column).End(xlUp)))
    
    m = UBound(dates)
    
    'Считаем интервалы БП по графику
    ReDim BPall(m)
    For k = 3 To m
        BPall(k) = dates(k) - dates(k - 1)
    Next
    'подсчитываем частотность - 1000 это максимальный временной период между платежами в графике
    Dim Freq(1000) As Integer
    For k = 1 To 1000
        Freq(k) = 0
    Next
    For k = 3 To m
        Freq(BPall(k)) = Freq(BPall(k)) + 1
    Next
    'получаем период с самой наибольшей частотой
    mmax = Freq(1)
    For k = 1 To 1000
      If mmax < Freq(k) Then mmax = Freq(k)
    Next k
    'берем с наименьшим БП, если одинаковая частотность
    bpmin = 1000
    For k = 1 To 1000
      If mmax = Freq(k) And k < bpmin Then bpmin = k
    Next k
    
    'определяем Базовый период
    bp = (bpmin)
    cbp = Round(365 / bp)
    
    ReDim Days(m)
    For k = 2 To m
        Days(k) = dates(k) - dates(2)
    Next
    
    ReDim e(m)
    ReDim q(m)
    
    For k = 2 To m
        q(k) = Days(k) \ bp
        e(k) = (Days(k) Mod bp) / bp
    Next
    
    Dim r  As Double
    r = 0
    Bisect 0, 10000, 0.000000000000001, r
    
    psk = Round(r * cbp, 5)
    Cells(3, 7).Value = psk
    
End Sub

Function F(w As Double) As Double
Dim x As Double
        x = 0
        For k = 2 To m
            x = x + summa(k) / ((1 + e(k) * w) * ((1 + w) ^ q(k)))
        Next
        F = x
End Function

Sub Bisect(ByVal a As Double, ByVal b As Double, ByVal eps As Double, ByRef r As Double)
Dim c  As Double
Dim fa As Double
Dim fb As Double
Dim fc As Double
    fa = F(a)
    fb = F(b)
     Do
      c = 0.5 * (a + b)
      If Abs(a - b) <= eps Then
         r = c
         Exit Sub
      End If
      fc = F(c)
      If Abs(fa) <= eps Then
         r = a
         Exit Sub
      End If
      If Abs(fb) <= eps Then
         r = a
         Exit Sub
      End If
      If (fc > 0 And fb < 0) Or _
         (fc < 0 And fb > 0) Then
         a = c
         fa = F(a)
      Else
         b = c
         fb = F(b)
      End If
    Loop
End Sub


=======
offtopic: опечатка в таге «финансы».
поправил, спасибо
Добрый день, не могли бы вы поправить ссылки в тексте статьи?
Приветствую! Я так понимаю, что не работает только ссылка на Excel-файл. Я могу его выслать — напишите в ЛС.
Только есть один нюанс — с 1 сентября 2014 года вступили в силу поправки к закону и расчет ПСК по описанным выше алгоритмам потерял актуальность, т.к. теперь используется другая формула.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации