1 - ISCTE
1. Funções
▪ Função B0
Descrição: calcula o valor actual de uma obrigação e o valor actual dos seus cash flows
Inputs:
n = nº de cash flows futuros da obrigação (integer);
rvec = array (nx1) de taxas de juro spot (real);
CFvec = array (nx1) de cash flows futuros da obrigação (real);
Matvec = array (nx1) de maturidades para cash flows futuros da obrigação (real).
Output: B0 (real); e PV_cash_flow (nx1).
Fórmula de cálculo (1):
[pic]
sendo
[pic] cash flow a gerar pela obrigação no momento [pic] ([pic]); e
[pic] taxa spot a [pic] anos.
Fórmula de cálculo (2):
B0:= 0.0;
FOR k:=1 TO n DO BEGIN
PV_cash_flow [k] := CFvec[k] * ((1+ rvec[k])^(- Matvec[k]);
B0:= B0 + PV_cash_flow [k];
END;
▪ Função DM
Descrição: calcula a duração de Macaulay de uma obrigação
Inputs:
n = nº de cash flows futuros da obrigação (integer);
VT = valor de transacção da obrigação (real);
ytm = yield-to-maturity da obrigação (real);
CFvec = array (nx1) de cash flows futuros da obrigação (real);
Matvec = array (nx1) de maturidades para cash flows futuros da obrigação (real).
Output: real
Fórmula de cálculo (1):
[pic][pic]
sendo,
[pic] k-ésimo cash flow futuro da obrigação; e
[pic] tempo em falta para o vencimento do k-ésimo cash flow futuro da obrigação.
Fórmula de cálculo (2):
DM:= 0.0;
FOR k:=1 TO n DO BEGIN
DM:= DM + Matvec[k] * CFvec[k] * ((1+ytm)^(- Matvec[k]);
END;
DM:= DM / VT;
▪ Função DFW
Descrição: calcula a duração de Fisher-Weil de uma obrigação
Inputs:
n = nº de cash flows futuros da obrigação (integer);
rvec = array (nx1) de taxas de juro spot (real);
CFvec = array (nx1) de cash flows futuros da obrigação (real);
Matvec = array (nx1) de maturidades para cash flows futuros da obrigação (real).
Output: real
Fórmula de cálculo (1):
[pic][pic]
sendo,
[pic] taxa spot a [pic] anos;
[pic] k-ésimo cash flow futuro da obrigação;
[pic] tempo em falta para o vencimento do k-ésimo cash flow futuro da obrigação;
[pic] valor actual da obrigação =[pic].
Fórmula de cálculo (2):
DFW:= 0.0;
FOR k:=1 TO n DO BEGIN
DFW:= DFW + Matvec[k] * CFvec[k] * ((1+ rvec[k])^(- Matvec[k]);
END;
DFW:= DFW / B0(n,rvec,CFvec,Matvec);
▪ Função Dp
Descrição: calcula a duração de um portfolio
Inputs:
p = nº de componentes do portfolio (integer);
B0vec = array (px1) de valores associados a cada componente do portfolio (real);
Dvec = array (px1) de durações associadas a cada componente do portfolio (real).
Output: real
Fórmula de cálculo (1):
[pic]
sendo,
p ( nº de obrigações que integram a carteira;
[pic] duração da j-ésima obrigação;
[pic] valor actual da j-ésima obrigação; e
[pic] valor actual da carteira = [pic]
Fórmula de cálculo (2):
Bp:= 0.0;
FOR k:=1 TO m DO BEGIN
Bp:= Bp + B0vec[k];
END;
Dp:= 0.0;
FOR k:=1 TO m DO BEGIN
Dp:= Dp + Dvec [k] * B0vec [k];
END;
Dp:= Dp / Bp;
▪ Função YTM
Descrição: calcula a yield-to-maturity de uma obrigação
Inputs:
n = nº de cash flows futuros da obrigação (integer);
VT = valor de transacção da obrigação (real);
CFvec = array (nx1) de cash flows futuros da obrigação (real);
Matvec = array (nx1) de maturidades para cash flows futuros da obrigação (real).
Output: real
Fórmula de cálculo (1):
[pic][pic]
sendo,
[pic] cash flow a gerar pela obrigação no momento [pic] ([pic]); e
[pic] tempo em falta para o vencimento do j-ésimo cash flow futuro da obrigação.
Fórmula de cálculo (2):
Função SOLVER do EXCEL
▪ Função CM
Descrição: calcula a convexidade de Macaulay de uma obrigação
Inputs:
n = nº de cash flows futuros da obrigação (integer);
VT = valor de transacção da obrigação (real);
ytm = yield-to-maturity da obrigação (real);
CFvec = array (nx1) de cash flows futuros da obrigação (real);
Matvec = array (nx1) de maturidades para cash flows futuros da obrigação (real).
Output: real
Fórmula de cálculo (1):
[pic][pic]
sendo,
[pic] k-ésimo cash flow futuro da obrigação; e
[pic] tempo em falta para o vencimento do k-ésimo cash flow futuro da obrigação.
Fórmula de cálculo (2):
CM:= 0.0;
FOR k:=1 TO n DO BEGIN
CM:= CM + Matvec[k] * (1+ Matvec[k] )* CFvec[k] * ((1+ytm)^(- Matvec[k]);
END;
CM:= CM / VT;
▪ Função CFW
Descrição: calcula a convexidade de Fisher-Weil de uma obrigação
Inputs:
n = nº de cash flows futuros da obrigação (integer);
rvec = array (nx1) de taxas de juro spot (real);
CFvec = array (nx1) de cash flows futuros da obrigação (real);
Matvec = array (nx1) de maturidades para cash flows futuros da obrigação (real).
Output: real
Fórmula de cálculo (1):
[pic][pic]
sendo,
[pic] taxa spot a [pic] anos;
[pic] k-ésimo cash flow futuro da obrigação;
[pic] tempo em falta para o vencimento do k-ésimo cash flow futuro da obrigação;
[pic] valor actual da obrigação =[pic].
Fórmula de cálculo (2):
CFW:= 0.0;
FOR k:=1 TO n DO BEGIN
CFW:= CFW+Matvec[k]*(1+ Matvec[k] )*CFvec[k]*((1+rvec[k])^(- Matvec[k]);
END;
CFW:= CFW / B0(n,rvec,CFvec,Matvec);
▪ Função Cp
Descrição: calcula a convexidade de um portfolio
Inputs:
p = nº de componentes do portfolio (integer);
B0vec = array (px1) de valores associados a cada componente do portfolio (real);
Cvec = array (px1) de convexidades associadas a cada componente do portfolio (real).
Output: real
Fórmula de cálculo (1):
[pic]
sendo,
p ( nº de obrigações que integram a carteira;
[pic] convexidade da j-ésima obrigação;
[pic] valor actual da j-ésima obrigação; e
[pic] valor actual da carteira = [pic]
Fórmula de cálculo (2):
Bp:= 0.0;
FOR k:=1 TO m DO BEGIN
Bp:= Bp + B0vec[k];
END;
Cp:= 0.0;
FOR k:=1 TO m DO BEGIN
Cp:= Cp + Cvec [k] * B0vec [k];
END;
Cp:= Cp / Bp;
▪ Procedure NSestimation
Descrição: estima os parâmetros da função de desconto de Nelson-Siegel com base numa amostra de obrigações.
Inputs:
m = nº de obrigações consideradas (integer);
VTvec = array (mx1) de valores de transacção das obrigações consideradas (real);
nvec = array (mx1) com nº de cash flows futuros gerados por cada obrigação considerada na amostra (integer);
nmax = nº máximo de cash flows futuros gerados pela amostra de obrigações consideradas (integer);
CFmatrix = array (m x nmax) de cash flows futuros gerados pela amostra de obrigações consideradas (real);
Matmatrix = array (m x nmax) de maturidades para cash flows gerados pela amostra de obrigações consideradas (real).
Outputs: [pic] (real)
Fórmula de cálculo:
Minimizar a seguinte função em ordem a [pic]:
[pic]
sendo:
[pic] valor de transacção da j-ésima obrigação da amostra;
[pic] valor actual da j-ésima obrigação =[pic];
[pic]nº de cash flows futuros a gerar pela j-ésima obrigação;
[pic] cash flow pago pela j-ésima obrigação no momento [pic];
[pic].
▪ Function NSrates
Descrição: calcula uma taxa de juro spot (efectiva anual) de Nelson-Siegel para uma determinada maturidade.
Inputs:
t = maturidade expressa em anos (real);
[pic]parâmetros de Nelson-Siegel (real).
Outputs: [pic] (real)
Fórmula de cálculo:
[pic].
▪ Procedure BCestimation
Descrição: estima os parâmetros da função de desconto de Bjork-Christensen com base numa amostra de obrigações.
Inputs:
m = nº de obrigações consideradas (integer);
VTvec = array (mx1) de valores de transacção das obrigações consideradas (real);
nvec = array (mx1) com nº de cash flows futuros gerados por cada obrigação considerada na amostra (integer);
nmax = nº máximo de cash flows futuros gerados pela amostra de obrigações consideradas (integer);
CFmatrix = array (m x nmax) de cash flows futuros gerados pela amostra de obrigações consideradas (real);
Matmatrix = array (m x nmax) de maturidades para cash flows gerados pela amostra de obrigações consideradas (real);
f = nº de factores do modelo HJM (integer).
Outputs: [pic] e [pic] (real)
Fórmula de cálculo:
Minimizar a seguinte função em ordem a [pic] e [pic]:
[pic]
sendo:
[pic] valor de transacção da j-ésima obrigação da amostra;
[pic] valor actual da j-ésima obrigação =[pic];
[pic]nº de cash flows futuros a gerar pela j-ésima obrigação;
[pic] cash flow pago pela j-ésima obrigação no momento [pic];
[pic].
▪ Function BCrates
Descrição: calcula uma taxa de juro spot (efectiva anual) de Bjork-Christensen para uma determinada maturidade.
Inputs:
t = maturidade expressa em anos (real);
f = nº de factores do modelo HJM (integer);
[pic] e [pic] = parâmetros de Bjork-Christensen (real).
Outputs: [pic] (real)
Fórmula de cálculo:
[pic].
▪ Procedure IRSrates
Descrição: calcula parâmetros de Nelson-Siegel com base em taxas de IRS.
Inputs:
m = nº de IRSs considerados (integer);
IRSvec = array (mx1) de taxas IRS (real);
MatIRSvec = array (mx1) com maturidade (em anos) de cada IRS (real);
delta = período de capitalização (em anos) do ramo fixo do IRS (real);
Libor3M, Libor6M, Libor1Y.
Outputs: [pic] (real)
Fórmula de cálculo:
Minimizar a seguinte função em ordem a [pic]:
[pic]
sendo:
[pic] cotação de mercado do j-ésimo IRS da amostra (com maturidade igual a [pic] anos);
[pic] cotação de Nelson-Siegel do j-ésimo IRS da amostra (com maturidade igual a [pic] anos) = [pic];
[pic] período de capitalização (em anos) do ramo fixo do IRS;
[pic];
[pic].
▪ Procedure IRSratesBC
Descrição: calcula parâmetros de Bjork-Christensen com base em taxas de IRS.
Inputs:
m = nº de IRSs considerados (integer);
IRSvec = array (mx1) de taxas IRS (real);
MatIRSvec = array (mx1) com maturidade (em anos) de cada IRS (real);
delta = período de capitalização (em anos) do ramo fixo do IRS (real);
f = nº de factores do modelo HJM (integer) );
Libor3M, Libor6M, Libor1Y.
Outputs: [pic] e [pic] (real)
Fórmula de cálculo:
Minimizar a seguinte função em ordem a [pic] e [pic]:
[pic]
sendo:
[pic] cotação de mercado do j-ésimo IRS da amostra (com maturidade igual a [pic] anos);
[pic] cotação de Bjork-Christensen do j-ésimo IRS da amostra (com maturidade igual a [pic] anos) = [pic];
[pic] período de capitalização (em anos) do ramo fixo do IRS;
[pic];
[pic].
Procedure GetIRSrates
Descrição: Obtém taxas de IRS para uma dada divisa, via leitura do file “dcot_reuters_index”.
Inputs:
divisa = código da divisa (char): EUR (euro); USD (dólar); GBP (libras); ou JPY (ienes).
Outputs:
m = nº de IRSs considerados (integer);
IRSvec = array (mx1) de taxas IRS (real);
MatIRSvec = array (mx1) com maturidade (em anos) de cada IRS (real);
delta = período de capitalização (em anos) do ramo fixo do IRS (real);
Libor3M, Libor6M, Libor1Y.
Fórmula de cálculo:
IF (divisa=EUR) THEN BEGIN
Libor3M:= (MM[1,2]+ MM[1,3])/2;
Libor6M:= (MM[2,2]+ MM[2,3])/2;
Libor1Y:= (MM[3,2]+ MM[3,3])/2;
END;
IF (divisa=USD) THEN BEGIN
Libor3M:= (MM[4,2]+ MM[4,3])/2;
Libor6M:= (MM[5,2]+ MM[5,3])/2;
Libor1Y:= (MM[6,2]+ MM[6,3])/2;
END;
IF (divisa=GBP) THEN BEGIN
Libor3M:= (MM[7,2]+ MM[7,3])/2;
Libor6M:= (MM[8,2]+ MM[8,3])/2;
Libor1Y:= (MM[9,2]+ MM[9,3])/2;
END;
IF (divisa=JPY) THEN BEGIN
Libor3M:= (MM[10,2]+ MM[10,3])/2;
Libor6M:= (MM[11,2]+ MM[11,3])/2;
Libor1Y:= (MM[12,2]+ MM[12,3])/2;
END;
m := 15;
IF (divisa=EUR) THEN BEGIN
j:=1;
delta:= 1.0;
END;
IF (divisa=USD) THEN BEGIN
j:=2;
delta:= 1.0;
END;
IF (divisa=GBP) THEN BEGIN
j:=3;
delta:= 0.5;
END;
IF (divisa=JPY) THEN BEGIN
j:=4;
delta:= 0.5;
END;
MatIRSvec[1]:= 1.0;
IRSvec[1]:= QuadroIRS[2,j]/100;
FOR k:=2 TO 10 DO BEGIN
MatIRSvec[k]:= k;
IRSvec[k]:= QuadroIRS[k+4,j]/100;
END;
MatIRSvec[11]:= 12.0;
IRSvec[11]:= QuadroIRS[15,j]/100;
MatIRSvec[12]:= 15.0;
IRSvec[12]:= QuadroIRS[16,j]/100;
MatIRSvec[13]:= 20.0;
IRSvec[13]:= QuadroIRS[17,j]/100;
MatIRSvec[14]:= 25.0;
IRSvec[14]:= QuadroIRS[18,j]/100;
MatIRSvec[15]:= 30.0;
IRSvec[15]:= QuadroIRS[19,j]/100;
▪ Function HJMcap
Descrição: calcula o valor de equilíbrio de um (forward-start) cap via modelo HJM.
Inputs:
f = nº de factores do modelo HJM (integer);
[pic] e [pic] = parâmetros de Bjork-Christensen (real);
[pic] = parâmetros do modelo HJM (real);
k = cap rate (real);
c = período de capitalização (real);
mc = nº de períodos de capitalização de vida do cap (integer).
Outputs: CapHJM (real)
Fórmula de cálculo:
[pic]
sendo:
[pic];
[pic];
[pic] é a função distribuição de uma normal estandartizada;
[pic];
[pic];
[pic];
[pic] é uma matriz identidade (fxf);
“a” é uma matriz diagonal (fxf) igual a [pic];
é um vector (1xf).
▪ Function Blackcap - Corrigida
Descrição: converte, via modelo de Black (1976), a flat yield volatility quote de um (forward-start) cap num valor monetário.
Inputs:
[pic] = cotação de mercado do cap, em volatilidade (real);
k = cap rate (real);
c = período de capitalização (real);
mc = nº de períodos de capitalização de vida do cap (integer);
[pic]parâmetros de Nelson-Siegel (real).
Outputs: CapB (real)
Fórmula de cálculo:
[pic]
sendo:
[pic];
[pic];
[pic] é a função distribuição de uma normal estandartizada;
[pic];
[pic].
(call função NSrates)
▪ Procedure HJMestimation - Corrigido
Descrição: estima os parâmetros [pic] e [pic] do modelo HJM com base numa amostra de caps.
Inputs:
m = nº de caps considerados (integer);
Capvec = array (mx1) de preços de mercado dos caps (real);
cvec = array (mx1) com período de capitalização (em anos) de cada cap (real);
mcvec = array (mx1) com nº. de períodos de capitalização de vida de cada cap (integer);
kvec = array (mx1) de cap rates (real);
f = nº de factores do modelo HJM (integer);
[pic]parâmetros de Nelson-Siegel (real).
Outputs: [pic] e [pic] (real)
Fórmula de cálculo:
Minimizar a seguinte função em ordem a [pic] e [pic]:
[pic]
sendo:
[pic] i-ésimo elemento do vector Capvec;
[pic] valor fornecido pela função HJMcap, com base nos seguintes inputs:
f = nº de factores do modelo HJM (integer);
[pic]parâmetros de Nelson-Siegel (real).
[pic] e [pic] = (trial) parâmetros do modelo HJM (real);
k = i-ésimo elemento do vector kvec (real);
c = i-ésimo elemento do vector cvec (real);
mc = i-ésimo elemento do vector mcvec (integer).
▪ Procedure GetCaps
Descrição: Obtém cotações de caps (em volatilidade) para uma dada divisa, via leitura do file “dcot_reuters_index”.
Inputs:
divisa = código da divisa (char): EUR (euro); USD (dólar); GBP (libras); ou JPY (ienes).
Outputs:
m = nº de caps considerados (integer);
[pic] = array (mx1) de cotações de mercado (em volatilidade) dos caps (real);
cvec = array (mx1) com período de capitalização (em anos) de cada cap (real);
mcvec = array (mx1) com nº. de períodos de capitalização de vida de cada cap (integer).
Fórmula de cálculo:
m := 7;
IF (divisa=EUR) THEN BEGIN
j:=1;
cvec[1]:= 0.25;
FOR k:=2 TO 7 DO BEGIN
cvec[k]:= 0.5;
END;
END;
IF (divisa=USD) THEN BEGIN
j:=3;
FOR k:=1 TO 7 DO BEGIN
cvec[k]:= 0.25;
END;
END;
IF (divisa=GBP) THEN BEGIN
j:=5;
FOR k:=1 TO 7 DO BEGIN
cvec[k]:= 0.25;
END;
END;
IF (divisa=JPY) THEN BEGIN
j:=7;
cvec[1]:= 0.25;
FOR k:=2 TO 7 DO BEGIN
cvec[k]:= 0.5;
END;
END;
FOR k:=1 TO 5 DO BEGIN
mcvec [k]:= k * (1/ cvec[k]);
[pic][k]:= QuadroCAPS[k,j]/100;
END;
mcvec [6]:= 7 * (1/ cvec[k]);
[pic][6]:= QuadroCAPS[6,j]/100;
mcvec [7]:= 10 * (1/ cvec[k]);
[pic][7]:= QuadroCAPS[7,j]/100;
▪ Procedure CapATMRate
Descrição: Calcula strike de um (ATM-forward) cap.
Inputs:
c = período de capitalização do cap (real);
mc = nº de períodos de capitalização de vida do cap (integer);
[pic]parâmetros de Nelson-Siegel (real).
Outputs:
k = cap rate (real).
Fórmula de cálculo:
[pic]
sendo:
[pic];
[pic].
(call função NSrates)
▪ Procedure HJMestimationRun - Corrigido
Descrição: corre o procedure HJMestimation para uma dada divisa.
Inputs:
divisa = código da divisa (char): EUR (euro); USD (dólar); GBP (libras); ou JPY (ienes);
f = nº de factores do modelo HJM (integer) – default = 3.
Outputs: [pic] (real)
Fórmula de cálculo:
i) Chamar procedure GetCaps(divisa) para obter: m; [pic] ; cvec; mcvec.
ii) Chamar procedure GetIRSrates(divisa) para obter: mirs; IRSvec ; MatIRSvec ; delta.
iii) Chamar procedure IRSrates(mirs,IRSvec,MatIRSvec,delta) para estimar parâmetros [pic].
iv) Forma vectores kvec e Capvec:
FOR k:=1 TO m DO BEGIN
kvec[k]:= CapATMRate(cvec[k],mcvec[k],[pic]);
Capvec[k]:= Blackcap([pic] [k],kvec[k], cvec[k], mcvec[k],[pic]);
END;
v) Chamar procedure IRSratesBC(mirs,IRSvec,MatIRSvec,delta,f) para estimar parâmetros [pic] e [pic].
v) Chamar procedure HJMestimation(m,Capvec,cvec,mcvec,kvec,f,[pic]) para estimar parâmetros [pic] e [pic].
▪ Function HJMcov - Corrigida
Descrição: Calcula a covariância, via modelo HJM, entre 2 HR de diferentes factores de desconto.
Inputs:
[pic] maturidade (em anos) dos 2 factores de desconto (real);
dt = período de capitalização, em anos; utilizar (1/260) por default; utilizar (1) para obter volatilidades anualizadas (real);
f = nº de factores do modelo HJM (integer);
[pic] = parâmetros do modelo HJM (real);
[pic] = parâmetros do modelo HJM (real).
Outputs:
HJMcov = [pic] (real).
Fórmula de cálculo:
[pic]
sendo:
[pic] é uma matriz identidade (fxf);
“a” é uma matriz diagonal (fxf) igual a [pic];
é um vector (1xf).
▪ Função rvecCALCNS
Descrição: calcula o vector rvec de taxas de actualização, via método Nelson-Siegel.
Inputs:
n = nº taxas a calcular (integer);
Matvec = array (nx1) de maturidades a considerar (real);
Spread = spread entre classe de rating e IRS (real);
[pic]parâmetros de Nelson-Siegel, calculados com base em IRSs, via procedure IRSrates (real);
Output: rvec = array (nx1) de taxas de juro spot (real).
Fórmula de cálculo:
FOR k:=1 TO n DO BEGIN
rvec[k]:= Function Nsrates(Matvec[k], [pic])
+ Spread;
END;
▪ Função rvecCALCBC
Descrição: calcula o vector rvec de taxas de actualização, via método Björk-Christensen.
Inputs:
n = nº taxas a calcular (integer);
Matvec = array (nx1) de maturidades a considerar (real);
Spread = spread entre classe de rating e IRS (real);
f = nº de factores do modelo HJM (integer);
[pic] e [pic] = parâmetros de Björk-Christensen, calculados com base em IRSs, via procedure IRSratesBC (real);
Output: rvec = array (nx1) de taxas de juro spot (real).
Fórmula de cálculo:
FOR k:=1 TO n DO BEGIN
rvec[k]:= Function BCrates(Matvec[k],f, [pic],[pic])
+ Spread;
END;
▪ Function HJMcovmatrix
Descrição: Calcula a matriz de variâncias-covariâncias, via modelo HJM e para SOMENTE uma dada divisa, para cálculo do VaR.
Esta função irá ser chamada pela função VaR_Bonds.
Esta função chama a função HJMcov.
Inputs:
t = horizon_date (real);
f = nº de factores do modelo HJM (integer);
[pic] = parâmetros do modelo HJM (real);
[pic] = parâmetros do modelo HJM (real).
Constantes:
Bucket[1] = 0.25;
Bucket[2] = 0.5;
FOR k:=1 TO 10 DO BEGIN
Bucket[2+k] = k;
END;
Bucket[13] = 15;
Bucket[14] = 20;
Bucket[15] = 25;
Bucket[16] = 30;
Outputs: HJMcovmatrix = matriz (16x16)
Fórmula de cálculo:
FOR k:=1 TO 16 DO BEGIN
FOR j:=1 TO 16 DO BEGIN
HJMcovmatrix[k,j]:= Function HJMcov( k, j, t, f, [pic],[pic] );
END;
END;
-----------------------
[pic]
[pic]
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related searches
- 1 or 2 374 374 1 0 0 0 1 168 1 1 default username and password
- 1 or 3 374 374 1 0 0 0 1 168 1 1 default username and password
- 1 or 2 711 711 1 0 0 0 1 168 1 1 default username and password
- 1 or 3 711 711 1 0 0 0 1 168 1 1 default username and password
- 1 or 2 693 693 1 0 0 0 1 168 1 1 default username and password
- 1 or 3 693 693 1 0 0 0 1 168 1 1 default username and password
- 1 or 2 593 593 1 0 0 0 1 or 2dvchrbu 168 1 1 default username and password
- 1 or 3 593 593 1 0 0 0 1 or 2dvchrbu 168 1 1 default username and password
- 1 or 2 910 910 1 0 0 0 1 168 1 1 default username and password
- 1 or 3 910 910 1 0 0 0 1 168 1 1 default username and password
- 192 1 or 2 33 33 1 0 0 0 1 1 1 default username and password
- 1 or 2 364 364 1 0 0 0 1 168 1 1 admin username and password