Yes it does via the extensibility provided by ADK.
Below is a sample neural network created in C++ that could be fed data via
Amibroker to return a NN indicator/prediction. It doesnt seem that hard to
create the required function.
#include <math.h>
#include <stdlib.h>
#include <iostream>
double input_hidden_weights[5][6]=
{
{9.40985654649721e-001, 9.23136985641824e+000, -2.86994950445746e+000,
-1.26803931926022e+000, -7.70008830456271e+000, 1.25421731000059e+000 },
{3.08886279182467e+000, 5.78057919510794e+000, 1.10741139003555e+001,
-3.65436515636221e+000, -1.46817775035674e+001, 2.22520984659718e+001 },
{1.69160825877441e-001, -9.91646811530742e+000, -1.05635083282757e+001,
4.25517810226395e+000, 2.50631134577816e+000, -2.91169885599088e+000 },
{-6.47564626574024e-001, -6.79555863835188e+000, -4.77495170169956e+000,
1.35029793165373e+000, 2.78079262918906e+000, -1.90795645602409e+000 },
{1.43573516935369e+000, 7.90014107622549e+000, 1.34639286162717e+000,
-4.87454998380292e-001, -5.75300672778634e+000, 2.44385407464775e+000 }
};
double hidden_bias[5]={ -1.72504436049218e+000, -1.12353474266980e+001,
1.05782985606737e+001, 6.38618458656671e+000, -4.76099367812151e+000 };
double hidden_output_wts[1][5]=
{
{4.85655076789677e+000, 5.85365165791789e-001, 3.11879288899187e+000,
-8.48772823147294e+000, -9.35987517826960e+000 }
};
double output_bias[1]={ 5.51616000361064e+000 };
double max_input[6]={ 3.02200000000000e-001, 6.05400000000000e-001,
1.81400000000000e-001, 1.59000000000000e-002, 6.06600000000000e-001,
2.43900000000000e-001 };
double min_input[6]={ -2.82000000000000e-001, -8.46700000000000e-001,
-1.95700000000000e-001, -9.70000000000000e-003, -5.52700000000000e-001,
-2.45100000000000e-001 };
double max_target[1]={ 1.35100000000000e-001 };
double min_target[1]={ -1.50800000000000e-001 };
double input[6];
double hidden[5];
double output[1];
void FindMax(double* vec, double* max, long* maxIndex,int len)
{
long i;
*max = vec[0];
*maxIndex = 0;
for(i=1; i<len; i++)
{
if(vec[i]>*max)
{
*max = vec[i];
*maxIndex = i;
}
}
}
void FindMin(double* vec, double* min, long* minIndex,int len)
{
long i;
*min = vec[0];
*minIndex = 0;
for(i=1; i<len; i++)
{
if(vec[i]<*min)
{
*min = vec[i];
*minIndex = i;
}
}
}
void ScaleInputs(double* input, double min, double max, int size)
{
double delta;
long i;
for(i=0; i<size; i++)
{
delta = (max-min)/(max_input[i]-min_input[i]);
input[i] = min - delta*min_input[i]+ delta*input[i];
}
}
void UnscaleTargets(double* output, double min, double max, int size)
{
double delta;
long i;
for(i=0; i<size; i++)
{
delta = (max-min)/(max_target[i]-min_target[i]);
output[i] = (output[i] - min + delta*min_target[i])/delta;
}
}
double logistic(double x)
{
if(x > 100.0) x = 1.0;
else if (x < -100.0) x = 0.0;
else x = 1.0/(1.0+exp(-x));
return x;
}
void ComputeFeedForwardSignals(double* MAT_INOUT,double* V_IN,double* V_OUT,
double* V_BIAS,int size1,int size2,int layer)
{
int row,col;
for(row=0;row < size2; row++)
{
V_OUT[row]=0.0;
for(col=0;col<size1;col++)V_OUT[row]+=(*(MAT_INOUT+(row*size1)+col)*V_IN[col]);
V_OUT[row]+=V_BIAS[row];
if(layer==0) V_OUT[row] = logistic(V_OUT[row]);
if(layer==1) V_OUT[row] = tanh(V_OUT[row]);
}
}
void RunNeuralNet_Regression ()
{
ComputeFeedForwardSignals((double*)input_hidden_weights,input,hidden,hidden_bias,6,
5,0);
ComputeFeedForwardSignals((double*)hidden_output_wts,hidden,output,output_bias,5,
1,1);
}
John
Don Lindberg <[EMAIL PROTECTED]> wrote:
AmiBroker does not do neural network analysis!
Donald F Lindberg
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf
Of Bob Jagow
Sent: Saturday, September 22, 2007 8:38 PM
To: [email protected]
Subject: RE: [amibroker] FORUMULA GIVING RESULTS LIKE NEURAL NETWORK
Has anyone answered your five previous posts?
-----Original Message-----
From: [email protected] [mailto:[EMAIL PROTECTED] Behalf
Of Vinay Gakkhar.
Sent: Saturday, September 22, 2007 8:27 PM
To: amibroker
Subject: [amibroker] FORUMULA GIVING RESULTS LIKE NEURAL NETWORK
Is there any Amibroker formula which analyzes historical stocks data like a
neural network does?
gakkhar
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
For other support material please check also:
http://www.amibroker.com/support.html
Yahoo! Groups Links