|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
asm.World
Title: World
El Mundo es una clase que principalmente sirve para satisfacer las necesidades de información de BFagents. World toma los datos del precio y los convierte en tendencias medias....
Una instancia de este Objeto es creada para manejar las variables de world, las variables globalmente visibles que reflejan el propio mercado, incluyendo sus medias móviles....Todo está basado en sólo dos variables básicas, price & dividend, las cuales sólo se establecen mediante los métodos setPrice() y setDividend().
World también maneja la lista de bits, traduciendo entre el nombre de los bits y su número, y dando descripciones de las funciones de los bits.
Copyright:
Depto. de Organización y Gestión de Empresas. Universidad de Valladolid
Field Summary | |
static java.util.LinkedList |
bitnameList
Lista enlazada de java cuyos elementos son instancias de la clase BitName. |
private double[] |
divhistory
Array que contiene la historia del dividendo (MAXHISTORY valores) |
double |
dividend
dividend |
double |
dividendscale
La línea media del dividendo |
MovingAverage[] |
divMA
Array de instancias de MovingAverage que contiene el valor de las medias móviles calculadas sobre el dividendo. |
int[] |
dupdown
Array de dimensión UPDOWNLOOKBACK que indica si el dividendo ha subido o bajado en los últimos UPDOWNLOOKBACK periodos |
static int |
EQ
|
boolean |
exponentialMAs
True si queremos medias móviles exponenciales. |
int |
history_top
Valor del índice de los arrays de históricos que se está modificando |
double |
intrate
Tasa de interés |
int[] |
malength
Este array contiene la longitud de las medias móviles que vamos a calcular. (p. ej. 0, 20, 100 y 500). |
static int |
MAXHISTORY
Nº de periodos de los que se conserva el registro del dividendo y del precio. |
static int |
NMAS
Nº de medias móviles |
static int |
NRATIOS
Número de puntos críticos para los ratios precio-de-mercado/precio-fundamental y dividendo/dividendo-medio |
static int |
NULLBIT
|
int |
nworldbits
El nº de aspectos de world que son registrados como bits |
static int |
NWORLDBITS
El nº de aspectos de world que son registrados como bits |
double |
olddividend
dividendo anterior |
MovingAverage[] |
olddivMA
Array de instancias de MovingAverage que contiene el valor de las medias móviles calculadas sobre el dividendo del periodo anterior. |
double |
oldprice
precio anterior |
MovingAverage[] |
oldpriceMA
Array de instancias de MovingAverage que contiene el valor de las medias móviles calculadas sobre el precio del periodo anterior. |
double |
price
precio que vacia el mercado |
private double[] |
pricehistory
Array de la historia de precios (MAXHISTORY valores) |
MovingAverage[] |
priceMA
Array de instancias de MovingAverage que contiene el valor de las medias móviles calculadas sobre el precio. |
double |
profitperunit
Beneficio por acción y periodo = price - oldprice + dividend |
int[] |
pupdown
Array de dimensión UPDOWNLOOKBACK que indica si el precio ha subido o bajado en los últimos UPDOWNLOOKBACK periodos |
static int |
PUPDOWNBITNUM
El número del bit que indica si el precio ha subido o ha bajado |
static double[] |
ratios
Puntos críticos para los ratios precio-de-mercado/precio-fundamental y dividendo/dividendo-medio |
(package private) int[] |
realworld
Array que contiene la ristra de bits que determinan el estado del mercado. |
double |
returnratio
Medida de rentabilidad = profitperunit/oldprice |
double |
riskNeutral
Precio fundamental = dividend/intrate |
double |
saveddividend
copia del dividendo antiguo, que se usa para comprobar que no se ha corrompido el valor en algun punto del programa |
double |
savedprice
copia del precio antiguo, que se usa para comprobar que no se ha corrompido el valor en algun punto del programa |
int |
updown_top
Número de periodos a los que se mira atrás para rellenar los bits de cambio del precio y del dividendo (¿ha subido o ha bajado?) |
static int |
UPDOWNLOOKBACK
Nº de movimientos up/down que se almacenan del precio y el dividendo, incluyendo los valores actuales |
Constructor Summary | |
(package private) |
World(swarm.defobj.Zone aZone)
Constructor de la clase |
Method Summary | |
static int |
bitNumberOf(java.lang.String name)
Convierte un nombre de un bit, en un número de bit. |
int |
ChangeBooleanToInt(boolean a)
Función para pasar de un valor boolean a un entero: true -> 1. false -> 0. |
void |
createBitnameList()
Crea e inicializa la bitnameList: lista enlazada de java cuyos elementos son instancias de la clase BitName. |
static java.lang.String |
descriptionOfBit(int n)
Proporciona una descripción del bit especificado, tomado de la lista bitnamelist[].También funciona para NULLBIT. |
void |
drop()
Liberador de memoria |
double |
getDividend()
Devuelve el dividendo más reciente; Se llama varias veces |
double |
GETMA(MovingAverage[] x,
int j)
Devuelve la media móvil apropiada, comprobando si hemos elegido usar medias móviles exponenciales o no. |
int |
getNumWorldBits()
Devuelve nworldbits; Usado por el BFagent. |
double |
getPrice()
Devuelve el precio; Usado por muchas clases. |
double |
getProfitPerUnit()
Devuelve profitperunit, usado por Specialist |
java.lang.Object |
getRealWorld(int[] anArray)
Devuelve el array de bits realworld. |
double |
getRiskNeutral()
Devuelve el precio neutral al riesgo. |
java.lang.Object |
initWithBaseline(double baseline)
Inicializa las medias móviles, partiendo de la base de que el dividendo ha valido siempre su "valor medio", o baseline. |
int |
irand(int x)
Método implementado para obtener nºs enteros aleatorios en el intervalo [0,x-1]. |
private java.lang.Object |
makebitvector()
Calcula todos los world bits a partir del dividendo actual, del precio, de las medias móviles y de los históricos. |
static java.lang.String |
nameOfBit(int n)
Proporciona el nombre del bit especificado, tomado de la tabla bitnamelist[] de abajo.También funciona para NULLBIT. |
int |
pricetrend(int n)
Devuelve +1, -1, ó 0 dependiendo de si el precio ha subido monotónicamente, caído monotónicamente, o nada, a lo largo de n periodos. |
java.lang.Object |
setDividend(double d)
Establece el valor del dividendo. |
java.lang.Object |
setExponentialMAs(boolean aBool)
Fija el valor de exponentialMAs, que vale true si queremos usar medias móviles y false en caso contrario. |
java.lang.Object |
setintrate(double rate)
Fija la tasa de interés |
java.lang.Object |
setPrice(double p)
Pone el precio de mercado a "p". |
java.lang.Object |
updateWorld()
Actualiza la historia, las medias móviles, y los bits del mundo para reflejar el precio y el dividendo actual. |
Field Detail |
public static final int UPDOWNLOOKBACK
public static final int NMAS
public static final int MAXHISTORY
public static int NWORLDBITS
public static final int NULLBIT
public static final int PUPDOWNBITNUM
public static final double[] ratios
public static final int NRATIOS
public static final int EQ
public double intrate
public double dividendscale
public int[] pupdown
public int[] dupdown
public int history_top
public int updown_top
public double price
public double oldprice
public double dividend
public double olddividend
public double saveddividend
public double savedprice
public double riskNeutral
public double profitperunit
public double returnratio
public int[] malength
public int nworldbits
int[] realworld
public boolean exponentialMAs
public MovingAverage[] priceMA
public MovingAverage[] divMA
public MovingAverage[] oldpriceMA
public MovingAverage[] olddivMA
public static java.util.LinkedList bitnameList
private double[] divhistory
private double[] pricehistory
Constructor Detail |
World(swarm.defobj.Zone aZone)
aZone
- Zona de memoria Swarm en la que se aloja el objeto SwarmMethod Detail |
public void createBitnameList()
public int irand(int x)
x
- public double GETMA(MovingAverage[] x, int j)
x
- Array que contiene las medias móviles (MovingAverage[])j
- Indica qué media móvil usar. (Índice de x[])public int ChangeBooleanToInt(boolean a)
Función para pasar de un valor boolean a un entero:
true -> 1.
false -> 0.
a
- El valor boolean (true o false).public static java.lang.String descriptionOfBit(int n)
n
- Número del bit del que queremos la descripciónpublic static java.lang.String nameOfBit(int n)
n
- Número del bit del que queremos el nombre.public static int bitNumberOf(java.lang.String name)
name
- Nombre del bit del que queremos el nombre.public java.lang.Object setintrate(double rate)
rate
- Tasa de interés.public java.lang.Object setExponentialMAs(boolean aBool)
aBool
- public int getNumWorldBits()
public java.lang.Object initWithBaseline(double baseline)
Inicializa las medias móviles, partiendo de la base de que el dividendo ha valido siempre su "valor medio", o baseline. La "baseline" puede modificarse desde la sonda del asmModelSwarm. Esta inicialización no es relevante porque antes de la simulación se ejecuta el programa de calentamiento, mucho más realista que esta suposición.
Este método sólo se ejecuta una vez.
baseline
- public java.lang.Object setPrice(double p)
p
- preciopublic double getPrice()
public double getProfitPerUnit()
public java.lang.Object setDividend(double d)
d
- Dividendopublic double getDividend()
public double getRiskNeutral()
public java.lang.Object updateWorld()
private java.lang.Object makebitvector()
public java.lang.Object getRealWorld(int[] anArray)
anArray
- Array en el que se copia realworldpublic int pricetrend(int n)
n
- número de periodos atrás en que se encuentra el precio referenciapublic void drop()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |