⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nnstrsfun.m

📁 Neural Network in Finance (神经网络在金融界:赢得预言性的优势)全部原码。内容包括预测与估计
💻 M
字号:
function [error, yhat, pderiv,neuron3] = nnstrsfun(beta);
global data1 squasher maxx minx maxy miny malags neuronxarg; 
y = data1(:,1);
x = data1(:,2:end);

[nx, cx] = size(x);

if squasher == 1,
    yy = (y - miny)/(maxy-miny);
    for i = 1:cx, xx(:,i) = (x(:,i)-minx(i))/(maxx(i)-minx(i));
    end
else yy = y; xx = x;
end
if squasher == 1,
    cxarg = -minx(neuronxarg) / (maxx(neuronxarg)-minx(neuronxarg));
else cxarg = 0;
end

ny = length(yy);
yhat1 = yy; 
xx0 = xx * beta(1:cx)';
neuron1 = 1 ./ (1 + exp(-xx * beta(cx+1:2*cx)'));
neuron2 = 1 ./ (1 + exp(-xx * beta(2*cx+1:3* cx)'));
ehat(1:malags,1) = zeros(malags,1); 
neuron3(1:malags,1) = .5 * ones(malags,1); 
for i = malags+1:ny, 
neuron3x = beta(3*cx+2)* (xx(i,neuronxarg)-cxarg);
neuron3(i,:) =  1 ./ (1 + exp(-neuron3x));
EXX = ehat(i-malags:i-1,:);
yhat1(i,:) = beta(3*cx+1) + xx0(i,:) + neuron3(i,:) * neuron1(i,:) + (1- neuron3(i,:)) *   neuron2(i,:) + beta(3*cx + 3: 3*cx+malags+2) * EXX;
ehat(i,:) = yy(i,:) - yhat1(i,:);
end;

nparm = 3 * cx + malags + 2;
error = yy - yhat1;
error = mean(error .^2);
% sigma = error/ nparm;  
% T = length(yhat1);          
% loglik = -.5 * T * log(2 * pi) - .5 * T * log(sigma) - .5 * error /sigma;
% 
% error = -loglik;
if squasher == 1,
    yhat = yhat1 * (maxy-miny) + miny;
else yhat = yhat1;
end;
for i = 1:cx,
for j = 2:ny,
    pderiv(j,i) = beta(i) + neuron3(j,1) .* neuron1(j,1) .* (1-neuron1(j,1)) * beta(cx+i) + (1-neuron3(j,1)) .*  neuron2(j,1) .* (1-neuron2(j,1)) * beta(2*cx+i); 
end;
end;
    




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -