Introducción al modelo presa-depredador de Lotka-Volterra.
Suponemos que dos especies de animales interactúan dentro del mismo ecosistema y que la primera especie se alimenta sólo de vegetación y la segunda se alimenta sólo de la primera especie. En otras palabras, una especie es un depredador y la otra es una presa . Por ejemplo, imaginemos que los depredadores son zorros y las presas conejos .
Sea x(t) y y(t) las poblaciones de zorros y conejos, respectivamente, en el tiempo t. Si no hubiera conejos, entonces se podría esperar que los zorros , sin un suministro adecuado de alimento, disminuyeran en número de acuerdo con:
- \(\frac{dx}{dt}=-ax\), a>0 Tasa de mortalidad de los depredadores (1)
Sin embargo cuando hay conejos en el medio, parece razonable que el número de encuentros o interacciones entre estas dos especies por unidad de tiempo sea conjuntamente proporcional a sus poblaciones x y y, es decir, proporcional al producto xy. Así,cuando están presentes los conejos hay un suministro de alimento y, en consecuencia, los zorros se agregan al sistema en una proporción bxy, b>0, siendo los depredadores beneficiados por encuentros con presas . Sumando esta última proporción a (1) se obtiene un modelo para la población de zorros:.
- \(\frac{dx}{dt}=-ax+bxy\), (2)
Por otro lado, si no hay zorros, entonces la población de conejos , con una suposición adicional de suministro ilimitado de alimento, crecería con una razón proporcional al número de conejos presentes en el tiempo t:
- \(\frac{dy}{dt}=dy\), d>0 (3)
Pero cuando están presentes los zorros, un modelo para la población de conejos es la ecuación (3) disminuida por cxy, c>0; es decir, la razón a la que los conejos son comidos durante sus encuentros con los zorros:
- \(\frac{dy}{dt}=dy-cxy\) (4)
Las ecuaciones (2) y (4) constituyen un sistema de ecuaciones diferenciales no lineales.
\(\frac{dx}{dt}=-ax+bxy\) depredador
\(\frac{dy}{dt}=dy-cxy\) presa
donde a, b, c y d son constantes positivas. Este famoso sistema de ecuaciones se conoce como modelo presa-depredador de Lotka-Volterra.
Modelo Lokta- Volterra aplicado a los volúmenes de depósito y prestamos
Los bancos utilizan los depósitos realizados por los clientes como fondos para administrar préstamos y se benefician de la diferencia entre los tipos de interés pactados sobre los depósitos y los préstamos. Por esta razón, es importante comprender la interacción entre depósito y volumen de préstamos.
Sumarti, Nurfitriyana y Nurwenda (2014) propusieron un sistema dinámico para depósitos y volúmenes de préstamos en un banco usando las ecuaciones presa-depredador de Lotka-Volterra.. Argumentaron que, como la existencia de depredadores depende de la existencia de presas, la existencia de préstamos depende de la existencia de depósitos ya que el volumen de préstamos del banco se define como una parte de su volumen de depósitos.
Modelo simple
En primer lugar, derivamos un sistema dinámico de volúmenes de préstamos (L) y depósitos (D) basado en el modelo simple de Lotka-Volterra, de la siguiente manera:
\(\frac{dD}{dt}= \alpha-pDL\)
\(\frac{dL}{dt}= pDL-\beta L\)
Aquí α es la tasa de interés del depósitos (D) donde el aumento de su valor hará que el volumen del depósito aumente.
β es la tasa de interés del préstamos (L) donde el aumento de su valor hará que el volumen del préstamo disminuya.
Por otro lado, un aumento de pDL, que representa la mezcla entre los volúmenes de depósitos y de préstamos, provocará una disminución del crecimiento del volumen de depósitos, y un aumento del crecimiento del volumen de préstamos a lo largo del tiempo.
Modelo resuelto
# x0, y0
init <- c(x = 4, y = 4)
# parametros
pars <- c(alpha = 0.16, beta = 0.08, delta = 4.5, gamma = 0.9)
# time
time <- seq(0, 50, by = 1)
modelo_lv <- function(pars, time = seq(0, 50, by = 1)) {
# sistema
ecuaciones <- function(t, init, pars) {
with(as.list(c(init, pars)), {
d_x <- - alpha * x + beta * x * y
d_y <- delta * y - gamma * x * y
return(list(c(x = d_x, y = d_y)))
})
}
# resolver
rk4(y = init, times = time, func = ecuaciones, parms = pars)
}
resultados_lv <- modelo_lv(pars = pars, time = seq(0, 50, by = 1))
graf_rk4 <- ggplot(data.frame(resultados_lv))+
geom_vline(xintercept = 0, linetype="dashed")+
geom_hline(yintercept = 0, linetype="dashed")+
geom_line(aes(x=data.frame(resultados_lv)$time, y=x), color="red", size=0.5)+
geom_line(aes(x=data.frame(resultados_lv)$time, y=y), color="blue", size=0.5)+
theme_bw()
ggplotly(graf_rk4)data.frame(resultados_lv)## time x y
## 1 0 4.000000 4.0000000
## 2 1 5.285972 6.0255712
## 3 2 6.379682 2.5009779
## 4 3 6.103193 0.8100858
## 5 4 5.435864 0.4037998
## 6 5 4.770338 0.3698589
## 7 6 4.214669 0.5896543
## 8 7 3.866607 1.4250335
## 9 8 4.025287 3.8963518
## 10 9 5.249178 5.8739401
## 11 10 6.320683 2.5719950
## 12 11 6.080950 0.8545313
## 13 12 5.430997 0.4308959
## 14 13 4.775575 0.3945395
## 15 14 4.228856 0.6236081
## 16 15 3.893439 1.4805668
## 17 16 4.070766 3.9206995
## 18 17 5.269733 5.6933030
## 19 18 6.282241 2.5247125
## 20 19 6.041876 0.8651408
## 21 20 5.403112 0.4494781
## 22 21 4.759183 0.4198566
## 23 22 4.225776 0.6696763
## 24 23 3.912437 1.5805381
## 25 24 4.133181 4.0442796
## 26 25 5.333569 5.4889390
## 27 26 6.259654 2.3915191
## 28 27 5.990710 0.8476993
## 29 28 5.357471 0.4601478
## 30 29 4.725723 0.4455108
## 31 30 4.209175 0.7271541
## 32 31 3.926446 1.7212496
## 33 32 4.212125 4.2392872
## 34 33 5.426749 5.2500108
## 35 34 6.244460 2.2079121
## 36 35 5.930787 0.8117117
## 37 36 5.299243 0.4650111
## 38 37 4.680126 0.4719450
## 39 38 4.183355 0.7960112
## 40 39 3.939079 1.8998912
## 41 40 4.307976 4.4758837
## 42 41 5.536134 4.9656858
## 43 42 6.228010 2.0048576
## 44 43 5.864143 0.7674200
## 45 44 5.232878 0.4672370
## 46 45 4.627091 0.5006336
## 47 46 4.152827 0.8775296
## 48 47 3.954669 2.1147716
## 49 48 4.421573 4.7213670
## 50 49 5.650598 4.6301951
## 51 50 6.203105 1.8036874
# D0, L0
init1 <- c(D = 0.04, L = 0.01)
# parametros
pars1 <- c(alpha1 = 0.07, beta1 = 0.12, p1 = 2, p2= 4)
# time
time <- seq(0, 250, by = 1)
modelo_lv2 <- function(pars1, time = seq(0, 250, by = 1)) {
# sistema
ecuaciones2 <- function(t, init1, pars1) {
with(as.list(c(init1, pars1)), {
d_D <- alpha1 * D - p1 * D * L
d_L <- p2 * D * L - beta1 * L
return(list(c(D = d_D, L = d_L)))
})
}
# resolver
rk4(y = init1, times = time, func = ecuaciones2, parms = pars1)
}
resultados_lv2 <- modelo_lv2(pars1 = pars1, time = seq(0, 250, by = 1))
graf_rk4_2 <- ggplot(data.frame(resultados_lv2))+
geom_vline(xintercept = 0, linetype="dashed")+
geom_hline(yintercept = 0, linetype="dashed")+
geom_line(aes(x=data.frame(resultados_lv2)$time, y=D), color="red", size=0.5)+
geom_line(aes(x=data.frame(resultados_lv2)$time, y=L), color="blue", size=0.5)+
#geom_line(aes(x=Tiempo, y=y_3), color="darkgreen", size=0.5)+
#geom_line(aes(x=x_1, y=x_1), color="black", size=1)+
#coord_fixed(ratio = 1)+ # misma escala en los ejes
theme_bw()
ggplotly(graf_rk4_2)data.frame(resultados_lv2)## time D L
## 1 0 0.04000000 0.010000000
## 2 1 0.04203263 0.010450284
## 3 2 0.04412403 0.011011331
## 4 3 0.04626174 0.011701107
## 5 4 0.04842905 0.012541693
## 6 5 0.05060398 0.013560029
## 7 6 0.05275822 0.014788698
## 8 7 0.05485588 0.016266653
## 9 8 0.05685229 0.018039714
## 10 9 0.05869291 0.020160557
## 11 10 0.06031275 0.022687742
## 12 11 0.06163661 0.025683158
## 13 12 0.06258080 0.029207079
## 14 13 0.06305713 0.033309987
## 15 14 0.06297971 0.038020615
## 16 15 0.06227487 0.043330486
## 17 16 0.06089378 0.049176865
## 18 17 0.05882567 0.055428162
## 19 18 0.05610833 0.061877720
## 20 19 0.05283196 0.068252003
## 21 20 0.04913325 0.074236168
## 22 21 0.04517949 0.079513972
## 23 22 0.04114633 0.083812555
## 24 23 0.03719509 0.086939697
## 25 24 0.03345567 0.088803705
## 26 25 0.03001812 0.089412885
## 27 26 0.02693287 0.088858466
## 28 27 0.02421678 0.087288714
## 29 28 0.02186203 0.084881957
## 30 29 0.01984501 0.081823788
## 31 30 0.01813371 0.078290733
## 32 31 0.01669319 0.074440381
## 33 32 0.01548904 0.070406786
## 34 33 0.01448947 0.066299567
## 35 34 0.01366620 0.062205299
## 36 35 0.01299478 0.058190095
## 37 36 0.01245446 0.054302648
## 38 37 0.01202789 0.050577274
## 39 38 0.01170067 0.047036715
## 40 39 0.01146099 0.043694592
## 41 40 0.01129919 0.040557477
## 42 41 0.01120748 0.037626600
## 43 42 0.01117958 0.034899239
## 44 43 0.01121052 0.032369814
## 45 44 0.01129638 0.030030765
## 46 45 0.01143419 0.027873227
## 47 46 0.01162171 0.025887551
## 48 47 0.01185737 0.024063701
## 49 48 0.01214016 0.022391558
## 50 49 0.01246954 0.020861137
## 51 50 0.01284541 0.019462750
## 52 51 0.01326802 0.018187119
## 53 52 0.01373795 0.017025456
## 54 53 0.01425609 0.015969513
## 55 54 0.01482357 0.015011614
## 56 55 0.01544178 0.014144668
## 57 56 0.01611231 0.013362178
## 58 57 0.01683695 0.012658240
## 59 58 0.01761766 0.012027535
## 60 59 0.01845656 0.011465325
## 61 60 0.01935591 0.010967449
## 62 61 0.02031805 0.010530316
## 63 62 0.02134544 0.010150908
## 64 63 0.02244054 0.009826788
## 65 64 0.02360586 0.009556114
## 66 65 0.02484384 0.009337663
## 67 66 0.02615682 0.009170869
## 68 67 0.02754696 0.009055873
## 69 68 0.02901612 0.008993599
## 70 69 0.03056579 0.008985839
## 71 70 0.03219689 0.009035381
## 72 71 0.03390963 0.009146159
## 73 72 0.03570322 0.009323454
## 74 73 0.03757565 0.009574135
## 75 74 0.03952327 0.009906973
## 76 75 0.04154040 0.010333017
## 77 76 0.04361872 0.010866057
## 78 77 0.04574669 0.011523179
## 79 78 0.04790870 0.012325412
## 80 79 0.05008413 0.013298462
## 81 80 0.05224629 0.014473492
## 82 81 0.05436121 0.015887873
## 83 82 0.05638643 0.017585757
## 84 83 0.05826986 0.019618223
## 85 84 0.05994902 0.022042581
## 86 85 0.06135107 0.024920272
## 87 86 0.06239408 0.028312565
## 88 87 0.06299044 0.032273229
## 89 88 0.06305292 0.036837495
## 90 89 0.06250385 0.042007335
## 91 90 0.06128724 0.047734508
## 92 91 0.05938208 0.053904895
## 93 92 0.05681387 0.060329685
## 94 93 0.05366040 0.066749675
## 95 94 0.05004836 0.072856702
## 96 95 0.04613958 0.078330761
## 97 96 0.04210985 0.082884734
## 98 97 0.03812579 0.086304526
## 99 98 0.03432591 0.088473683
## 100 99 0.03081010 0.089377624
## 101 100 0.02763786 0.089089895
## 102 101 0.02483335 0.087747634
## 103 102 0.02239381 0.085524266
## 104 103 0.02029865 0.082605388
## 105 104 0.01851732 0.079170824
## 106 105 0.01701519 0.075383288
## 107 106 0.01575748 0.071382661
## 108 107 0.01471166 0.067284350
## 109 108 0.01384856 0.063180240
## 110 109 0.01314281 0.059141073
## 111 110 0.01257282 0.055219430
## 112 111 0.01212044 0.051452800
## 113 112 0.01177061 0.047866459
## 114 113 0.01151093 0.044476006
## 115 114 0.01133126 0.041289534
## 116 115 0.01122340 0.038309413
## 117 116 0.01118073 0.035533756
## 118 117 0.01119797 0.032957581
## 119 118 0.01127100 0.030573734
## 120 119 0.01139660 0.028373607
## 121 120 0.01157239 0.026347700
## 122 121 0.01179664 0.024486040
## 123 122 0.01206822 0.022778503
## 124 123 0.01238647 0.021215056
## 125 124 0.01275120 0.019785928
## 126 125 0.01316258 0.018481735
## 127 126 0.01362111 0.017293566
## 128 127 0.01412762 0.016213040
## 129 128 0.01468318 0.015232341
## 130 129 0.01528911 0.014344240
## 131 130 0.01594696 0.013542095
## 132 131 0.01665847 0.012819862
## 133 132 0.01742558 0.012172082
## 134 133 0.01825035 0.011593878
## 135 134 0.01913502 0.011080952
## 136 135 0.02008191 0.010629577
## 137 136 0.02109345 0.010236596
## 138 137 0.02217212 0.009899434
## 139 138 0.02332041 0.009616103
## 140 139 0.02454079 0.009385229
## 141 140 0.02583561 0.009206085
## 142 141 0.02720709 0.009078638
## 143 142 0.02865719 0.009003616
## 144 143 0.03018748 0.008982594
## 145 144 0.03179904 0.009018109
## 146 145 0.03349227 0.009113804
## 147 146 0.03526665 0.009274616
## 148 147 0.03712047 0.009507010
## 149 148 0.03905053 0.009819270
## 150 149 0.04105166 0.010221861
## 151 150 0.04311626 0.010727870
## 152 151 0.04523360 0.011353537
## 153 152 0.04738913 0.012118886
## 154 153 0.04956353 0.013048432
## 155 154 0.05173167 0.014171960
## 156 155 0.05386142 0.015525294
## 157 156 0.05591248 0.017150927
## 158 157 0.05783514 0.019098305
## 159 158 0.05956945 0.021423373
## 160 159 0.06104498 0.024186877
## 161 160 0.06218177 0.027450668
## 162 161 0.06289312 0.031271169
## 163 162 0.06309100 0.035689261
## 164 163 0.06269443 0.040716375
## 165 164 0.06164105 0.046317845
## 166 165 0.05990028 0.052396485
## 167 166 0.05748567 0.058781559
## 168 167 0.05446244 0.065229432
## 169 168 0.05094643 0.071440782
## 170 169 0.04709280 0.077094465
## 171 170 0.04307615 0.081891456
## 172 171 0.03906724 0.085597218
## 173 172 0.03521264 0.088070766
## 174 173 0.03162194 0.089273805
## 175 174 0.02836407 0.089260756
## 176 175 0.02547093 0.088156039
## 177 176 0.02294537 0.086126779
## 178 177 0.02077031 0.083357549
## 179 178 0.01891694 0.080030826
## 180 179 0.01735119 0.076314127
## 181 180 0.01603805 0.072353075
## 182 181 0.01494430 0.068268924
## 183 182 0.01403992 0.064159011
## 184 183 0.01329862 0.060098880
## 185 184 0.01269791 0.056145174
## 186 185 0.01221886 0.052338723
## 187 186 0.01184571 0.048707482
## 188 187 0.01156545 0.045269155
## 189 188 0.01136744 0.042033453
## 190 189 0.01124305 0.039003973
## 191 190 0.01118530 0.036179730
## 192 191 0.01118862 0.033556390
## 193 192 0.01124862 0.031127247
## 194 193 0.01136188 0.028883984
## 195 194 0.01152584 0.026817273
## 196 195 0.01173862 0.024917219
## 197 196 0.01199894 0.023173712
## 198 197 0.01230606 0.021576678
## 199 198 0.01265966 0.020116271
## 200 199 0.01305984 0.018783004
## 201 200 0.01350702 0.017567847
## 202 201 0.01400196 0.016462290
## 203 202 0.01454566 0.015458378
## 204 203 0.01513940 0.014548739
## 205 204 0.01578467 0.013726593
## 206 205 0.01648318 0.012985752
## 207 206 0.01723679 0.012320616
## 208 207 0.01804756 0.011726172
## 209 208 0.01891768 0.011197983
## 210 209 0.01984947 0.010732183
## 211 210 0.02084531 0.010325482
## 212 211 0.02190769 0.009975163
## 213 212 0.02303909 0.009679095
## 214 213 0.02424199 0.009435756
## 215 214 0.02551878 0.009244261
## 216 215 0.02687172 0.009104404
## 217 216 0.02830284 0.009016724
## 218 217 0.02981382 0.008982584
## 219 218 0.03140587 0.009004278
## 220 219 0.03307956 0.009085171
## 221 220 0.03483461 0.009229870
## 222 221 0.03666965 0.009444450
## 223 222 0.03858185 0.009736729
## 224 223 0.04056657 0.010116613
## 225 224 0.04261682 0.010596517
## 226 225 0.04472270 0.011191874
## 227 226 0.04687066 0.011921738
## 228 227 0.04904260 0.012809481
## 229 228 0.05121487 0.013883556
## 230 229 0.05335716 0.015178273
## 231 230 0.05543121 0.016734489
## 232 231 0.05738967 0.018599988
## 233 232 0.05917508 0.020829259
## 234 233 0.06071950 0.023482147
## 235 234 0.06194508 0.026620710
## 236 235 0.06276635 0.030303450
## 237 236 0.06309494 0.034576093
## 238 237 0.06284725 0.039458569
## 239 238 0.06195529 0.044928817
## 240 239 0.06037965 0.050905926
## 241 240 0.05812239 0.057237247
## 242 241 0.05523609 0.063695697
## 243 242 0.05182510 0.069992769
## 244 243 0.04803674 0.075808752
## 245 244 0.04404303 0.080835195
## 246 245 0.04001774 0.084818819
## 247 246 0.03611470 0.087594621
## 248 247 0.03245304 0.089099993
## 249 248 0.02911132 0.089368888
## 250 249 0.02612967 0.088511412
## 251 250 0.02351709 0.086686929
Conclusiones
La existencia del préstamo depende de la existencia del depósito porque el banco asignará el volumen del préstamo de una parte del volumen del depósito.
Este modelo de depredador-presa aplicado al balance general de los bancos solo sirve como una herramienta analitica, pues las tasas de interes que se manejan en un banco son muy diversas y el modelo no las contempla a todas, el modelo no sirve para predecir el volumen de depositos o de prestamos, pero si para entender su comportamiento.
Referencias
Bastos De Almeida, M. (2017). The Lotka-Volterra equations in finance and economics. Universidad de Lisboa, Portugal.