Sei sulla pagina 1di 62

GuadeInicio

1
TABLADECONTENIDO
Introduccin..........................................................................................................................................2
RequerimientosdeSistema......................................................................................................................2
CopyrighteInformacindeContacto......................................................................................................3
RiskModeler.........................................................................................................................................3
VinculandoVariables.............................................................................................................................5
VnculoalosDatos...................................................................................................................................5
TIP:SalvandodentrodeArchivosdeFormatoCSV...........................................................................6
EntradaManual.......................................................................................................................................7
TIP:EscribiendolosDatosManualmente.........................................................................................8
CalcularDatos..........................................................................................................................................8
ConfigurarSupuestosdeSimulacin........................................................................................................9
AjustedelosDatos.................................................................................................................................10
TIP:ManejadordeVariables...........................................................................................................10
TIP:CorriendomltiplesmodelosusandoROVPortfolio...............................................................11
TIP:SalvandoPerfiles,SeparadoresdeDatos,SalidasdelasBasesdeDatoseIdiomas................12
TIP:AdaptandolaInterfazdeUsuario,laListadeFuncionesyModelosdeROVModeler............13
TIP:EjemplosdeModelosyFuncionalidadAvanzada....................................................................14
RiskValuator.......................................................................................................................................16
OptimizadordeRiesgo........................................................................................................................19
VinculadoaOtrasBasesdeDatos..........................................................................................................23
CasoUno:VincularaOracle............................................................................................................23
CasoDos:VincularalUsuarioDSN..................................................................................................23
ROVScheduler,ROVPortfolio,ROVCharter........................................................................................25
CorriendoXMLsinlaInterfasedeUsuario.............................................................................................28
IntegrandoaOtrosSistemas..................................................................................................................30
APENDICE:CASOSDEUSOSQLYEJEMPLOS.........................................................................................34
CasodeUso1:SeleccindeFilasporValores.................................................................................36
CasodeUso2:UsodelAND..........................................................................................................37
CasodeUso3:UsodelOR............................................................................................................38
CasodeUso4:UsodelANDyelORjuntos.................................................................................39
CasodeUso5:UsodeIN...............................................................................................................40
CasodeUso6:UsodelBETWEEN.................................................................................................41
CasodeUso7:UsodelLIKE..........................................................................................................42
CasodeUso8:SimpleFuncionesMatemticas..............................................................................43
CasodeUso9:FuncionesMatemticasAnidadas..........................................................................44
CasodeUso10:UsodeUnionparaConectarComandos.............................................................45
CasodeUso11:FiltrandoDiferentesTiposdeDatos.....................................................................46
CasodeUso12:EligiendolasFilasSuperioresTopN..................................................................47
CasodeUso13:UsodeNOTIN....................................................................................................48
CasodeUso14:UsodeEXISTS.....................................................................................................49
CasodeUso15:UsodeMltiplesTablas........................................................................................50
CasodeUso16:EjemplousandoAND............................................................................................51
CasodeUso17:EjemplousandoComodinesconAND...................................................................52
CasodeUso18:EjemplousandoUnionconSorting.......................................................................53
CasodeUso19:EjemplousandoComodinesyMatemtica..........................................................54
CasodeUso20:EjemplousandoAND/ORAnidadoconMatemticas...........................................55
CasodeUso21:UsodeUNIONALL..............................................................................................56
CasodeUso22:UsodeFuncionesSQL...........................................................................................57
CasodeUso23:UsodeGROUPBY...............................................................................................58
CasodeUso24:UsodeDISTINCT.................................................................................................59
CasodeUso25:UsodeORDERBY................................................................................................60
CasodeUso26:SeleccinporFechasconBETWEEN...................................................................61
2

Introduccin
Este archivo de ayuda introduce la estructura del software ROV Risk Modeler desarrollado por Real
Options Valuation, Inc. Este software toma la modelizacin fuera del Excel y dentro de un ambiente de
base de datos con la finalidad que el usuario final tenga la habilidad de vincular directamente dichas
basesyampliosarchivosdedatos,limpiarlosdatosycorrer avanzadas estructuras analticas a una muy
altavelocidad.ElROVRiskModelerestcompuestoporungrannmerodemodelosincluyendo:
ElROVModeleresunadaptablesoftwareparamodelaravanzadasestructurasanalticasyresolver
mltiplestiposdemodelos,elloincluyendocomputarmodelosavanzadosendiferentesindustrias,
pronsticoavanzadoymodelosdesimulacin,estimacioneshistricas,pronsticodeseriesdetiempo
(ARIMA,Autoeconometra,Regresin,ProcesosEstocsticos,yotros),cmputosdevolatilidad(GARCH),
ymuchasotrasaplicaciones.Tambinseincluyeenestemdulo(comotambinenlosmdulosdelBasel
ModeleryRiskOptimizer)lahabilidaddevincularydescargarinformacindevariasbasesyfuentesde
datosfuentes(p.ej.,OracleOFDM,SQLServer,Excel,CSV,text,yotrasbasesdedatosODBC),ocultay
limpialosdatospreviosasuuso(aplicacomandosSQLyrutinasdelimpiezadedatos),computanuevas
variablesbasndosesobredatosexistentes,correSimulacionesMonteCarloparaanlisisdeRiesgo,
aplicaajustededatosydefuncionesdedistribucin,yotrasrutinas.Estemduloestambinadaptable
enquelosusuariospuedenmodificarlalistadefunciones,descripciones,culesmodelosyaplicaciones
sevanamostrar,yfinalmente,permitealosusuariospersonalizarlasherramientasparaajustarlasasus
necesidades.
El ROV Basel Modeler es un software de mdulo con estructura analtica avanzada para resolver
mltiples tipos de modelos, incluyendo modelos de cmputos avanzados en varias industrias (bancos,
seguros, servicios financieros, modelos para estimar probabilidades de prdida, prdidas dadas,
exposicinaprdidas,ValorenRiesgo(VaR),yotrasmtricasclaves).EstetambinfuncionacomoelROV
Modelerdescritoanteriormente.
El ROV Risk Optimizer tiene la habilidad de ejecutar rpidamente la seleccin de proyectos e
inversiones o portafolios de proyectos, de igual manera, ejecuta optimizaciones no lineales con
simulacin y optimizacin estocstica, al mismo tiempo que usa variables discretas, enteras, binarias y
continuas,sujetasamltiplesrestricciones.
El ROV Risk Valuator tiene mas de 600 modelos y funciones para valoracin de opciones, stas van
desdesimplesaexticas,valoracindemercancasymateriasprimas,futuros,yperfilesderetornoriesgo
orientados a portafolios de activos, etc. Vase el apndice para un lista ms detallada de los modelos
disponibles.
El ROV Risk Charter corre diferentes perfiles del Modeler y el Optimizer y, retorna archivos
predefinidosXMLquepuedenserusadosporelROVDashboardparagenerargrficosdinmicos,tablas,
tablas pivotes y reportes. El software ROV Dashboard es otro programa desarrollado por Real Options
Valuation,Inc.
El ROV Scheduler corre diferentes perfiles del Modeler y de Optimizer y, regresa los resultados en
archivosplanosdetextoquepuedenserguardadosocargadosfcilmentedentrodelExceluotrasbases
dedatos.
El ROV Portfolio curre mltiples perfiles del Modeler y del Optimizar, as como, mltiples modelos
instantneamente. Esto es muy similar al Scheduler, en que mltiples modelos pueden elegirse para
correr al mismo tiempo desde diferentes perfiles, pero la diferencia es que los anlisis son ejecutados
inmediatamente,envezdeserprogramadosparacorrermstarde.
RequerimientosdeSistema
EstesoftwarepuedecorrerencualquiermedioambientedeWindowsoMAC.ElsistemaoperativoMAC
requiere Parallels o Virtual Machine para emular el medio ambiente de Windows. El ROV Risk
Modeler es compatible con Microsoft Excel, as como tambin, se amolda a otras bases de datos y
3
archivos ODBC. El software juego requiere 100MB de espacio libre en disco y se recomienda como
mnimo1GBdeRAMparaelmejordesempeo.Adicionalmente,serecomiendaqueelusuariodisponga
de los derechos administrativos (est por defecto en la mayora de las computadoras personales), sin
embargo, se puede acceder a l usando claves de accesos con limitados derechos de usuario
(simplemente instalar el software en un archivo/carpeta no protegido con una localizacin determinada
paraquecorraapropiadamente).
CopyrighteInformacindeContacto
ElsoftwareROVRiskModelerfuedesarrolladoporRealOptionsValuation,Inc.Copyright20082009por
el Dr. Johnathan Mun. Todos los derechos reservados. Este programa est protegido por las leyes de
copyrightdelosEstadosUnidosytratadosinternacionales.Lareproduccinodistribucinnoautorizada
(parcialototal)deesteprogramaresultaraenseveraspenalidadescriminalesyciviles,yelculpablesera
enjuiciadoconlamximaextensindelaley.

Lainformacindecontactodeldesarrolladordelsoftwarees:
RealOptionsValuation,Inc.
4101FDublinBoulevard,Suite425
Dublin,California94568USA
admin@realoptionsvaluation.com
Tel:+1.925.271.4438Fax:+1.925.369.045
www.realoptionsvaluation.com

RiskModeler
El ROV Risk Modeler (tambin conocido como ROV Modeler) es una herramienta de simulacin y de
estructura analtica avanzada que proporciona un gran nmero de modelos avanzados para simular,
ajustar, pronosticar, valorar y reportar resultados para los usuarios. El software es compatible con
diferentes tablas y base de datos ODBC (Excel, Oracle OFDM, SQL Server, y otras) y permite al usuario
vincularlasaunabasededatosexistentesoconfigurarsupuestosdesimulacinparaobtenerentradasy
ascorrerlosanlisis.Porotrolado,elsoftwareesadaptablealasnecesidadesdelusuario,enelsentido
quelosmodelos,descripcionesy espacios analticos usados pueden ser adaptados (se puede cambiar el
nombredeunmtodo,ladescripcin,oborrarelmodelocompletototalmente).Estaherramientacorre
fueradelExceluotrasbasesdedatosyloscmputosocurrenaunamuyaltavelocidad.Porejemplo,sise
tieneunosmillonesdepuntosdevaloressalvadosenunahojadeExcel,abrir este archivo puede tomar
de10a30minutosdependiendodeldesempeodelsistema,yhaciendouncambioenelclculodentro
delExceltomarauntiempoprolongado.Sisenecesitarepetirelprocesoenmltiplesperodosdetiempo
(porejemplo,cadaarchivodeExcelesrecurrenteysenecesitareplicarlosanlisiscadasemanaomes,o
procesar mltiples archivo en un mismo tiempo, dicha tarea es incorregible e insostenible dentro del
Excel).Portanto,muchossoftwareparaelmanejodebasededatossonsolamentetilesparaalmacenar
datos y no para su anlisis y manipulacin. Risk Modeler es un intermediario de base de datos en el
sentido que es usado para desempear clculos con alta intensidad de informacin y sus cmputos
puedenserrepetidosyprogramadosparacorrersecuandoseanrequeridosmuyrpidamente.

Cuando se comienza con el software ROV Modeler, se ver una interfase como se muestra abajo.
Brevemente, la interfase tiene una barra de men [A], un conjunto de tipos de anlisis o familia de
modelos [B], una lista de modelos en los tipos de anlisis [C], un rea de entradas especficas en el
modelo seleccionado [D], la vinculacin de las variables en el modelo [E], y la habilidad para crear
mltiplesmodelosenunsimpleperfil[F].Parailustrar,unejemplodeuntipoofamiliademodelospuede
ser Volatilidad Volatility [B]. Esto es, existe un gran nmero de caminos para calcular volatilidad de
algunasdatosdeseriesdetiempo,incluyendoelusodemodelostipoGARCH,unmodelodellogaritmode
losretornos,unmodeloexponencialdemediasponderadas,etc.,dondeestosmodelossonlistadosenla
seccin de modelos [C]. En tal sentido, dependiendo del modelo elegido, la data requerida puede ser
diferenteypodralistarseenlaseccindeentradas[D].Paracadavariabledeentradarequeridasepuede
4
vincular cada una de ellas a alguna data [E]. Tambin, se podra decidir sobre el desempeo de otros
cmputosenelmodelo,lacualesestaranlistadosenlaseccindemodeloscreados,elloocurrehaciendo
clicsobreelbotnADDparaaadirnuevosmodelos[F]alalista.Cadaunodelosmodelosenlalistade
modelos creados [F] pueden ser corridos por ellos mismos (seleccionar el modelo a correr y hacer clic
sobreelbotnRUN)ylassimulaciones,nfasisenlaspruebasyreportespuedengenerarsecuandosean
requeridas[G].Losanlisiscorrernmuyrpidamenteylosresultadossernmostrados[H].

Pararesumir,estossonalgunosdelospasosbsicosrequeridosparaejecutarelROVRiskModeler:

Seleccionarlostiposdeanlisis[B]
Seleccionareltipodemodelo[C]
Seleccionarunavariabledeentradaalavez[D]yvincularlaaladataexistenteointroducir
losdatos[E]
Seleccionarelmodeloacorrer[F]yloscorrerlosanlisis[G]

NotequeelROVModelerpuedecorrerunmodeloalavez.Sidesearcorrermltiplesmodelosdesdeun
simpleomltiplesperfilesalmismotiempopuedeusarlaherramientaROVPortfoliooROVSchedule,el
segundoesporsideseaqueestoscorranprogramadamenteendasytiempoespecficos.

VinculandoVariables
Cuando se hace clic sobre el botn MAP [E], se le presentar un gran nmero de elecciones [I] para
vincular los datos a la variable de entrada seleccionada. Esto incluye la habilidad de desempear un
vnculo de datos a los archivos y bases de datos existentes, entradas manuales mediante la escritura o
copiado y pegado de alguna data, datos calculados para modificar y correr clculos de otras variables
previasasuusoyconjuntosdesupuestosparaconfigurar las distribuciones de probabilidad para correr
lassimulacionessobreelmodelo.Enestesentido,paraajustarelmodelosetomaunconjuntoelevadode
modelos existentes para correr estadsticas de mejor ajuste sobre las 24 distribuciones de probabilidad
disponibles y as decidir cuales distribuciones y parmetros ajustan mejor los datos, de forma tal que la
distribucin pueda ser usada en el modelo. Lo siguiente ilustra los detalles de cada tipo de variable
vinculadaycomodesempearlastareasrequeridas.

VnculoalosDatos
ExistensietetiposdedatosdeODBCconectadaparaaccederadatosexistentescuandoseseleccionala
opcinDataLink[J].Paraelinicio,sedebeproveerelnombredelavariable(elnombrepordefectopara
los datos vinculados comienzan con el prefijo DL, tal que se pueda identificar si una variable es una
variablevinculadaono)ysehaceclicsobreabrirbasededatosOpenDatabase[K].Aqusepuedever
sietetiposdebasesyarchivosdedatosadmitidosporelROVModeler[L],desdelosarchivosdeExcela
lasbasesdedatosOracleySQLServers,ascomotambinarchivosdedatosregularCSVyotrasbasesde
datosadaptablesODBC(formatoDSN).Porejemplo,siseseleccionalaopcindeconexinaExcel[L],se
hace clic sobre el botn explorar Browse para localizar el archivo de Excel que se desea vincular y se
hace luego clic en OK. En la seccin de listas de campos disponibles Available Fields [M] se ver el
nombre del archivo de Excel y al hacer clic sobre l para expandirlo, se observar la lista de hojas de
trabajo,yencadaunadeellassernlistadaslasvariablesdisponibles.Tpicamentecuandoseestusando
Excel como un depositario de datos, asegrese que las variables arregladas en columnas disponga la
primera fila configurada con el nombre de la variable. Se puede seleccionar la variable a usar haciendo
clic sobre el botn >> para seleccionarla, o el botn >>> para aadirlas todas de una vez
(alternativamente,sepuedeseleccionarlasvariablesdeseadasaserremovidas,enlaseccindecampos
seleccionados,ysehaceclicsobre<<pararemoverlavariableseleccionadao<<<pararemoverlastodas).

6
Tambin.otrasfuentesdevnculosdedatosestndisponibles,paralaopcindeconexindelosdatosde
Oracle, se necesitara configurar los accesos de entrada requeridos, tales como nombre del Usuario y
Claveparaaccederalabasededatos.CuandosehaceclicsobreelbotnOK,elsoftwarellamarlabase
de datos, mtodo para conectar la base de datos especificada. Para los diferentes tipos de aplicaciones
ODBC, los cdigos de software estn envueltos con mtodos de llamada tales como CONNECT, QUERY,
entreotros.

Tambin se puede desempear algunas rutinas de limpieza de los datos usando comandos bsicos SQL
[N].ParamayoresdetallesacercadelusodecomandosSQL,porfavorhacerreferenciaalapndicesobre
algunos ejemplos para usar SQL. Finalmente, hay una simple herramienta de filtrado de fila [O] que
rpidamente permite filtrar o desfiltrar ciertos datos (por ejemplo, incluir o excluir datos desde filas n a
m).

TIP:SalvandodentrodeArchivosdeFormatoCSV
ElarchivodeformatoCSVeselformatomsusadocomnmente(escompatibleconlamayoradelabase
de datos como una va para cargar y descargar datos), aqu hay algunas notas de inicio acerca de la
creacindeunarchivodedatosCSV.

EssiempreaconsejablecambiarunarchivoplanodetextodedatosdentroCSV,yaquestetienems
caractersticasyladatapuedeservistademanerarpidayfcil.ParaconvertirunarchivotetextoaCSV
dentrodelExcel,sehaceclicsobreFile,Openyseabreunarchivodetexto(iratravsdelfiltrodearchivo
de datos, delimitado con espacio o tabulador). Entonces guardar el archivo como Save As dentro del
CSVdelimitadoconcoma.
CuandosemanipulaarchivosCSV,asegresequenoseaadenfilas,valores,oescritura en los datos
enlaparteinferior(despusdelfinaldeladataconfigurada).Estoesporque,loqueseaque pase en la
parte inferior del archive CSV es salvado, incluso, si se ha borrado los valores de celda. Si se ha hecho
algunoscmputosenlaparteinferior,porfavorseleccionarlasfilasydesempeeunDELETEROW(s)para
eliminar todo los tems residuales que podran ser salvados en el archivo CSV (esto es porque celdas
borradassonasumidasquecontienevaloresvacios).Haciendoelborradodefilaescrtico,yaqueelSQL
levantadoincluiraelementosvacosylosclculospodranserincorrectos.
EsunaBuenaprcticaquelaprimerafiladeladatatengaelnombredelavariable.Porfavornoteque
los nombres de las variables pueden tener espacios y caracteres especiales, por tanto, el Risk Modeler
puede trabajar. Sin embargo en otras bases de datos, caracteres especiales y espacios podran no ser
permitidosycuandosecreaelconjuntodedatossedebeestarconcientedeestalimitacin.Enresumen,
essiempremsseguronoaadirespaciosycaracteresespecialesalosnombresdelasvariables(nousar
@,%,#,&,/entreotros).
Si la primera lnea de datos tiene un valor entero (0, 1, 2, etc.) entonces, asegrese que tenga
decimales asociados. Algunas veces ciertas bases de datos usan letras MySQL y SQL y podra identificar
estosnmeroscomotextoenvezdeunvalor.Elloesbuenaideaparachequeardoblemente.Siemprese
puede cambiar el nmero de decimales en CSV cuando se est editando en Excel. Justamente se aade
algunosdecimalesysimplementeesunaprecaucinparalamanipulacindelabasededatosquefacilite
lacargaodescargaarchivos.
7

EntradaManual
Elsegundoacercamientoeslaentradamanual.Aqu,envezdevincularlos grandes archivos de datos o
lasbasesdedatosparaobteneralgunosclculosdetallados,algunasveceselconjuntodedatospodraser
pequeoymanualmenteescrito.Enestecaso,laopcindeentradamanalpuedeserseleccionada[I].El
prefijo usado por defecto en entradas manuales es MI [P]. En stas se comienza por introducir un
nombreparalavariableyseleccionar,silodesea,reutilizacindelosmismovaloresdecadasalvadaenla
basededatos[Q](porejemplo,supngasequeseeligeunmodelorequiriendo5variablesdeentrada,X1,
X2,, X5, donde cada una tiene 100,000 puntos de datos (filas), y se est vinculando la variable X5
actualmente, y le gustara usar el mismo valor tal como 0.10 para todas 100,000 filas sin tener que
introducircadaunodeellos,cargarladadadesdeunarchivodetexto[R],omanualmenteintroducirlos
datos[S](tambinsepuedepegarlosdatosdesdeotrosarchivosodelportapapelesdelascomputadora
[T]).AlfinalsehaceclicsobreFinishcuandoyaseestelisto.

TIP:EscribiendolosDatosManualmente
Como algunas veces se escribe algunos datos manualmente, es importante entender brevemente el
formatodedatosrequerido.

Silosdatosaentrarsondeunasimplevariable,useCOMMAuntemseparadordeladata.
Porejemplo,supngasequeseestintroduciendo4mesesdedatosdeventas,ellosdeberanser:
54256, 222930.23, 111202.3, 132334 separados por comas (se puede usar tantos puntos de
precisindecimalsedeseen).Msan,nousecomascomoseparadordemiles.Enotraspalabras,
unmildlaresycincuentacentavosdebenserintroducidoscomo1000.5o1000.50envezdeusar
1,000.50y,nosusarsmbolosdemoneda(porejemplo,$).
La variable requiere mltiples lneas, entonces se usa el SEMICOLON es el separador de
lneas.Porejemplo,supngasequesenecesitaintroducirunamatrizdecorrelacin2x2(allexisten
dosfilasydoscolumnas)entonceslosdatospuedenserintroducidoscomo1,0.1;0.1,1concomas
comoseparadordetemsobrelamismafilay,puntoycoma(semicolon)paradenotarunanueva
lnea. Esto se ver claramente ms adelante en las herramientas para modelos del ROV Risk
Valuator,talcomoValorenRiesgo(ValueatRisk)oclculosdeRiesgodePortafolioPortfolioRisk.
Existen separadores por defecto, pero, ellos pueden ser cambiados si lo desean a travs
deltemMen,seleccionandoConfiguracinyeligiendoSeparadordeDatos.

CalcularDatos
Laterceraopcinesaplicarlapropuestadecomputardatossobreaquellosdatosvinculadospreviamente
[U].Porejemplo,sepodravincularvariablesadicionalesquesonusadasdirectamenteenunmodelo(ver
la seccin de manejador de variable Variable Management para ms detalles) como una variable
intermedia. Por ejemplo, en la pantalla mostrada [U], se ve que los datos de la variable vinculada
DL_Variable 1 que est probablemente enlazada desde una base de datos existente con mltiples
valores es utilizada como una variable intermedia. La variable usada es la media de la variable de los
datos. Note que la lista de las variables vinculadas previamente es mostrada sobre el lado derecho
llamada variables existentes Existing Variables y las funciones, as como tambin, los clculos
matemticos estn disponibles en la parte inferior. Se puede desempear cualquier tipo de clculos,
comoseanrequeridos,usandoestetipodemtodoparacomputardatos.
9

ConfigurarSupuestosdeSimulacin
La cuarta opcin es configurar los supuestos de simulacin, es decir, los supuestos de funciones de
distribucindeprobabilidaddelavariable(s)asimular[I].Estoes,paracorrerunasimulacindemilesde
pruebasenelmodelo,primerosenecesitaconfigurarlossupuestosapropiadosdesimulacinmediantela
eleccin de las distribuciones de preferencias e introducir los parmetros de entrada pertinentes [V]. El
prefijo por defecto es AS que significa supuesto assumption. Para comenzar se introduce el nombre
deunanuevavariableyseseleccionaladistribucindepreferencia.Existen22distribucionesdisponibles
para ser seleccionadas. Introducir los parmetros de entrada para la distribucin seleccionada (p.ej., los
valores de la media y la desviacin estndar si se selecciona la Distribucin Normal). Se debe tambin
introducir un valor marcador de posicin Placeholder Value (este es el valor temporal para calcular el
modelosinoseejecutaunasimulacin,esdecir,suestadoinicialantesdesercorrido).

Nota: Los detalles matemticos y de probabilidad de cada distribucin estn fuera del alcance de este
documentodeayudarpida,sinembargo,favorhacerreferenciaaModelingRisk:ApplyingMonteCarlo
Simulation, Real Options Analysis, Stochastic Forecasting, and Portfolio Optimization by Dr. Johnathan
Mun (Wiley Finance 2006) para mayores detalles acerca de cada distribucin, su significado, cmo
seleccionarlamejordistribucinaaplicar,etc.;ohacerreferenciaalmanualdeusuariodelSoftwareRisk
Simulator,disponibleenelsitioWebwww.realoptionsvaluation.comdebajodelaseccinDownload.

10

AjustedelosDatos
Elcuartoenfoqueeselajustedelosdatos[I].Algunasveces,nosepodrasabereltipodedistribucinde
probabilidad apropiada para la variable que se desea simular. Si se tiene datos existentes, se puede
aplicarrutinasdeajustededatosparadeterminarlamejordistribucinausar.Laprimeraeleccinrefleja
quelosdatosdeberanserajustadosaunadistribucincontinua(p.ej.,1.235,12.23,etc)odistribucin
discreta (p.ej., 1, 20, 300, etc) [W] y donde los datos radican (seleccionar desde una campo de datos
previamente vinculados, cargar el archivo de texto de los datos o copiarlos, versus manualmente
introduciropegarlosdatosdirectamente)[X].HacerclicenFinishcuandoseestelisto.

TIP:ManejadordeVariables
Como un administrador del software ROV Modeler, la herramienta de manejador de variable Variable
Managementesindispensable.SepuedehacerclicsobreeltemdemenVariableyseleccionarVariable
Management[Y]paraasmostrarlalistadevariablespreviamentevinculadas[Z].Usandoesteenlace,se
puedeaadir,editaroborrarvariablesexistentes.Elpoderdeestemanejadordevariableesevidenteen
11
losejemplosanterioresdecmputosdedatosDataCompute,yaquesepuedevinculartantasvariables
comosedesean,desdeelconjuntodedatosobasededatosyluegosepuededesempearlasdeseadas
subsecuentes manipulaciones. Mediante esta combinacin de vnculos de datos, con el manejador de
variablesyloscmputosdedatos,sepuedeesencialmentecontrolarlasecuenciadeeventosymanipular
losdatosantesqueseanusadosenelmodelo.

Por otro lado, existe tambin una herramienta de Integridad de Datos Data Integrity [AA] donde se
puede filtrar los datos vinculados permitiendo, por ejemplo, slo valores positivos, valores negativos, o
losvaloresmsaltosylosmsbajosaunvalorespecfico,entreotros.Alubicarunalistadelasvariables
previamente vinculadas [AB] y aadindolas a la lista de integridad se puede seleccionar las reglas
deseadas.

Finalmente, se puede desempear mtodo ms avanzados de filtrado de datos usando comandos SQL
proceso que ocurre en el enlace de vinculacin de datos [N]. Para ms detalles sobre el uso de los
comandosSQL,hacerreferenciaalapndiceparaalgunosejemplosdeusosprcticos.

TIP:CorriendomltiplesmodelosusandoROVPortfolio
EnelROVModeler,sepuedecrearmltiplesmodelosysalvartodoselloscomounasimplecarpeta(estas
archivos son llamado perfiles). Cuando se necesita correr un modelo, se podra seleccionar ste desde
una lista de modelos creados y correr uno a la vez. Algunas veces, podra haberse creado mltiples
modelos y mltiples perfiles, al querer correr todos ellos juntos se puede usar la herramienta ROV
Portfolio [AC]. Para acceder a ella dirjase a Start, Programs, Real Options Valuation, y el acceso directo
ROV Modeler o desde el tem men del ROV Modeler por medio de la seleccin de Portfolio y haga clic
sobreSetting[AC].LainterfasedeusuariodelmanejadordeportafolioPortfolioManagementaparece
ydesdeaqusepuedehacerclicsobreOpenparaabriralgunosperfilessalvados.Cabedestacarque,los
modelos en todos los perfiles sern listados [AD]. Luego se selecciona los modelos deseados a correr
haciendoclicsobre>>paraaadirelmodelo,o>>>paraaadirtodoslosmodelos,versus<<paraborrar
unmodeloseleccionadoo<<<borrartodoslosmodelosseleccionados.Entonces,sepuedeseleccionarsi
losmodelosestncorriendoindependientementeeligiendoportafoliodemodelosPortfolioofModels
ocorrencomounportafoliocondiferentespesosmediantePortafoliodeActivosPortfolioofAssets,en
dondeseintroduceunvalordefactorFactorvalueparacadamodelo[AE].Porejemplo,sisetienen5
modelosacomputar,ysedesealos5resultadosindividualmente,perotodoslos5modelossoncorridos
12
amismotiempo,sedebeseleccionarelportafoliodeenlacedemodelos.Alternativamente,sisetiene5
retornosdeactivosysedeseacalculareltotalderetornosdelportafolioycadaactivotieneundiferente
peso (ellos todos suman 100% o 1.0), seleccionar el enlace de portafolio de activos e introducir las
relevantesponderacionesdecadaactivo.

TIP:SalvandoPerfiles,SeparadoresdeDatos,SalidasdelasBasesdeDatoseIdiomas
EnelROVModelersepuedehacerclicsobreeltemdemenarchiveFile[AF]parasalvaroabrirunperfil.
Recuerde que un perfil es un simplemente archive XML que contiene todos los datos de las variables,
clculosmanuales,localizacindelasfuentesdearchivodedatos,modelosusados,parmetros,listade
variables,ytodoloqueeshechoenelROVModeler.

Tambin se pueden abrir ejemplos, en tal sentido, existen aproximadamente 100 ejemplos de perfiles
que vienen con el ROV Modeler para abrirse y usarse como ejemplos de inicio y aprendizaje acerca de
cmo usar el software. Algunos modelos son especficos de diferentes industrias y aplicaciones tales
comoserviciosfinancieros,bancos,inversiones,finanzascorporativas,pronstico,seleccindeproyectos,
optimizacindeportafolios,ymuchosotros.Estoestmsalldelfocodeestedocumento,sinembargo,
para ir dentro de los detalles tcnicos de cada modelo, por favor hacer referencia a modelo analticos
avanzados Advanced Analytical Models: Over 800 Models and 300 Applications from Basel II to Wall
StreetandBeyondbyDr.JohnathanMun(Wiley2008)dondeseubicanmsdetallessobrecadaunode
estosmodelos.

Adicionalmente,elmenconfiguracinConfiguration[AG]permitedefinirlasalidadelabasededatos,
talquelosresultadosseanledosocargadosdentrodelabasesdedatos.Porotrolado,tambinsepuede
acceder al men separador de datos Data Separador y as definir el separador de tem y el de lneas,
elementosdiscutidospreviamente.

13
Finalmente, existe un men de idiomas Languages [AH], donde se puede acceder a los diferentes
idiomastalescomoingls,chino,japons,espaol,francs,alemn,ruso,italianoyotros.Sedebeestar
concientequemuchasdelaspalabrasestntraducidasmientrasquealgunostrminostcnicosno(esto
es porque el origen de estos trminos tcnicos es el Ingls y algunas veces no es buena su traduccin
directaaotrosidiomas)ysemantieneneninglsapropsito.

TIP:AdaptandolaInterfazdeUsuario,laListadeFuncionesyModelosdeROVModeler
En la ruta de instalacin del software (p.ej., c:\program files\real options valuation\risk modeler) debe
estarunarchivenombradoROVCustomModeler.xml[AI].Diferenteidiomastienendiferentesarchivos
XML, p.ej., la versin en Ingls ser llamada ROV Custom Modeler (English).xml. Este archive XML
controla los nombres de interfaz de usuario y sus descripciones. Se puede editar estos archivos
directamenteusandouneditorXMLousarelblocdenotasNotepaden(Start,Programs,Accessories,
Notepad, arrastrar el archivo XML y colocarlo dentro del Notepad para edicin) [AJ]. En el archivo XML,
existeungrannmerodecosasquesepuedehacerincluyendo:

Elusuariopuedeborraruncategoracompletacomenzadodesde<process>a</process>.
Elusuariopuedeborrarunespecificomodelodentrodeunacategoradesde<model>a</model>.
ElusuariopuedecambiartodoenladescripcinDESCparaelmodelo.
ElusuarionopuedeynodeberacambiarlosvaloresmodelID,varID,typeyparam_style.
El usuario puede cambiar el nombre name del modelo y de los parmetros, siempre y cuando, los
valoresIDnosecambien.
Elusuariopuedereacomodarlalocalizacindelosmodelosylascategorasparahacerqueaparezcan
unosdeprimeroyotrosmstarde.

CuandoserealicenloscambiosalarchivoXMLysesalven[AJ],comienzaconelROVModelerysevern
losefectos[AK].
14

TIP:EjemplosdeModelosyFuncionalidadAvanzada
Unbuencaminoparainiciarelaprendizajedelsoftwareesiralosejemplosdelosperfiles[AM].Existen
mltiples perfiles disponibles haciendo clic sobre el archive men y eligiendo ejemplos [AL]. Existen un
gran nmero de funciones claves que son probablemente las ms usadas, incluyendo el modelo de
extraccindedatosDataExtract[AN](utilizableparaextraerdatosdirectamentedesdelosarchivosde
datos o base de datos, desempear algunos clculos requeridos y retornar los resultados de anlisis),
modelos de Autoeconometra [AO] (disponible bajo modelos de datos de Series de Tiempo, utilizable
para el desempeo de cientos de miles de modelos de combinatorias economtricas y encontrar el
modelo que ms se ajusta a los datos), y los ejemplos de Caja de Uso Use Case [AP] para aprender
sobre cmo usar las funciones SQL [AQ] (ver el apndice para ms ejemplos acerca de cmo usar las
llamadasfuncionesSQL).
15

16
RiskValuator
El Risk Valuator es la aplicacin de ms de 600+ funciones analticas avanzadas. Este ofrece cientos de
modelosendiferentescategorasdeusuarioparaserseleccionados.Elusuariopuedeintroducirlosdatos
requeridos para el modelo elegido y en esta aplicacin retornar los resultados calculados muy
rpidamente. Este mdulo es til para la valoracin de instrumentos derivados, instrumentos de deuda,
opciones exticas, instrumentos de opciones estructuradas, as como tambin mltiples tipos de
modelos financieros. Los ms de 600+ modelos avanzados son caracterizados dentro de los siguientes
gruposdeaplicaciones:

FuncionesMatemticasAvanzadas
BsicosModelosFinancieros
BsicosModelosdeOpciones
MatemticasparaBonos,Opciones,PreciosyRendimientos
AnlisisdeRiesgodeCrdito
Coberturas(Hedging)DeltaGamma
OpcionesExticasyDerivados
RatiosFinancieros
Pronstico,ExtrapolacineInterpolacin
DistribucionesdeProbabilidad
Paridadcomprayventay,Sensibilidaddeopciones
AnlisisdeOpcionesReales
ValorenRiesgo(VaR),Volatilidad,RiesgoenPortafolioyRetorno

17
ElRiskValuator[AR]esusadoparadesempearrpidoscmputosdesdesimpleybsicosmodeloshasta
avanzadasestructurasanalticas,ypuedemanejarvalorespuntualesenseries.Despusdelainstalacin
desoftwareycomenzarconRiskValuator,simplemente,sedebeseleccionareltipodemodeloenlacaja
decategorademodeloModelCategory[AS]yelegirelmodelodeintersencajaModelSelection[AT].
Losparmetrosdeentradarequeridossernlistados.Porotrolado,simplespuntosdeentrada(p.ej.,10o
10.4532)estarnenelreadeparmetrosdeentrada[AU],mientrasquelosrequerimientosmltiplesde
datosdeberansermostradosenelreadeparmetrosdeentradasdemltiplesseries[AV].Cuandose
introduzca simples series de mltiples puntos de datos, usar comas o espacios para separar los valores
(p.ej.,unaseriedetiempode6mesesdetasasdeinterspuedeserintroducidacomo0.12,0.124,0.112,
0.1, 0.09, 0.16 o simplemente 0.12 0.124 0.112 0.1 0.09 0.16). Pulsar COMPUTE y los anlisis se
ejecutanylosresultadossernmostrados[AW].

Algunas veces, ciertos modelos tales como Valor en Riesgo usando el mtodo de correlacin estndar,
requierediferentescolumnasdedatosyunamatrizdecorrelacin.Porejemplo,elobjetivoescalcularel
VaR del portafolio usando este modelo, cuando existen 3 clases de activos, cada uno con sus propias
cantidades, especfica volatilidad diaria para cada uno y una matriz cuadrada de correlacin entre estas
clases de activos. En tal situacin, las cantidades y la volatilidad de entrada tendrn que introducirse
como una simple columna (pulsar ENTER al final de introducir un valor y as crear una nueva lnea,
designarunanuevaclasedeactivoousarelpuntoycomasemicoloncomounseparadordelnea[AX])
y la matriz de correlacin ser separada por comas para la misma fila con diferentes columnas, y semi
colonparadiferentesfilas[AY].EstemduloRiskValuatornopermitealusuariovincularavariasbases
de datos o simularlas. Para hacerlo, entonces usar los mdulos del ROV Risk Modeler. Muchos de estos
modelosexistenenamboscontextos.ElmduloROVRiskModeleresusadopararpidamenteobtener
resultadossintenerquevincularalasbasesdedatos,etc.

18
Paraeliniciodelaprendizajedeestaherramienta,sedebehacerclicsobreelmenyseleccionarcargade
muestradeentradaLoadSampleInputs.Luego,seleccioneunacategorademodeloyelijaunmodelo
de inters. De esta manera, se ver la muestra de entradas ledas y se puede hacer clic sobre computar
Computeparaobtenerlosresultados.Elusarestasentradasdemuestrasonunaguaparainiciarseen
lasnecesidadesdemodelizacin.

JustamentecomoenROVModelersepuedeadaptarlalistademodelosqueaparecenenelROVValuator,
as como tambin las descripciones para cada modelo. Para ello, ubique la ruta de instalacin (p.ej.,
c:\program files\real options valuation\risk modeler), busque los archivos ROV Custom Valuator
(English).xml y seleccione los archivos correctos dependiendo del idioma del usuario. Este archivo XML
controla los nombre y las descripciones del interfase de usuario. Se puede editar este archivo
directamente usando un editor XML o bloc de notas Notepad (Start, Programs, Accessories, Notepad, y
entonces arrastrarlo y ponerlo dentro del Notepad para editarlo). En el archivo XML, existen una gran
cantidaddecosasquesepuedenhacerincluyendo:

Sepuedeborrarunacategoraenteracomenzandodesde<category>a</category>
Se puede borrar una especifica funcin dentro de una categora desde <function> a
</function>
Sepuedecambiartodaladescripcinparaelmodeloen"categoryname","displayname"y
"desc"
No se puede y no se debera cambiar los valores de function name, type y
param_type
Sepuedecambiarperonosedeberaelvarnamedelmodelo(secorreelriesgoquelos
valoresdemuestracargadospodranotenervaloresvlidos)
Sepuedereacomodarlalocalizacindelosmodelosycategorasparahacerqueciertosde
modelosycategorasaparezcanprimeroyotrasdespus
En vez de borrar modelos, tratar de comentarlos usando un corchete triangular abierto
"open triangular bracket, apostrofes y dos guiones apostrophe and two dashes" y dos
guiones y un corchete triangular cerrado "two dashes and close triangular bracket", tal
quesisenecesitalosmodelosotravez,ellosestarandisponibles
Tambin se puede crear una categora de modelos propia usando los ejemplos de este
documento,conunafavoritalistademodelos...

19
OptimizadordeRiesgo
RiskOptimizeresunavanzadomdulodeoptimizacinquepuedeserusadosparaoptimizarportafolios,
encontrardecisionesdeinversinoptimasyseleccinptimadeproyectosparaunacorporacin,banco,
firma de inversin, manufactura, equipo de I&D, y muchas otras. Las variables de decisin pueden ser
discretas, continuas, enteras, o binarias, y las funciones objetivo pueden ser lineales o no lineales.
Adicionalmente, Risk Optimizer permite al usuario vincular existentes tablas de datos para correr
simulaciones,encontrarelmejorajustedelosmodelos,yjuntarstascontcnicasconoptimizacin.Los
detallestcnicosdelaoptimizacincaenfueradelenfoquedeestedocumento.Paramayoresdetallesy
ejemplos, por favor ver Modeling Risk: Applying Monte Carlo Simulation, Real Options Analysis,
StochasticForecasting,andPortfolioOptimizationporDr.JohnathanMun(WileyFinance2006).

Aqu hay un simple ejemplo acerca de como usar el ROV Optimizer [AZ] (se sugiere tambin hacer clic
sobre el archivo men y seleccionar ejemplos para cargar algunos modelos predefinidos para aprender
comoestospuedenserconfigurados).CuandoseinstalaelRiskOptimizer,sepuedeabriryverelUIdel,
software, mtodo Method, variables de decisin Decision Variables, restricciones Constraints que
sern mostrados en frente del usuario. Elegir el tabulador Method [BA] y seleccionar Static
Optimization [BB]. Otra vez, para detalles sobre las diferencias entre optimizacin esttica, dinmica y
estocstica, por favor contactar el departamento tcnico, revisar el libro del Dr. Mun anteriormente
nombrado,oasistirunodelosseminariosdeentrenamientodeRealOptionsValuation,Inc.

Luego,hacerclicsobreeltabuladordelasvariablesdeDecisinVariables[BA] ypulsar ADDparaaadir


algunas variables. Por ejemplo, se tiene 4 diferentes variables [BD] (Activo1 a Activo 4), y cada activo
puede ser configurado como continuo, entero, binario, o valores discretos [BE]. Para una simple
ilustracin,laconfiguracindelasvariablessoncontinuasentre0.10y0.40(p.ej.,sololadistribucinde
activos entre 10% y 40% estn permitidas). Mantener aadiendo 4 diferentes clases de activo como
variablesdedecisin.

Posteriormente, se hace clic sobre el tabulador de restricciones y seleccionar ADD [BF]. Entonces, en la
caja de expresiones de entrada, introducir la restriccin (se puede hacer doble clic sobre la lista de
variablesylaseriedevariablessertransformadaenunacajadeexpresiones).Ennuestroejemplosimple,
eltotaldevaloresdelavariablededecisindebesumar1.0(p.ej.,eltotaldeladistribucindeclasesde
20
activosdebeser100%enunportafoliodeinversin)[BG].SepuedetambincrearunFronteraEficiente
Efficient Frontier mediante la adicin de variables frontera Frontier Variables [BH]. De nuevo, para
detallessobrefronteraseficientes,revisarellibrodeModelingRiskbyDr.Mun.



21
Adicionalmente,siseestausandooptimizacinesttica,sepuedeeltabuladordeestadsticas,apesarde
que ste es importante cuando se est ejecutando optimizaciones dinmicas o estocsticas, cuando
algunasdelasvariablessonvinculadasadistribucionesdeprobabilidadysimulacionesqueserncorridas
antesydespusdelaoptimizacin[BI].

Luego,seleccionareltabuladordeobjetivosObjective[BJ]yelegirsisedeseacorrerunamaximizacin
o minimizacin del objetivo Maximization or Minimization. Por otro lado, introducir la expresin
relevante del objetivo como se subray anteriormente, hacer doble clic sobre la lista de variables para
traerelnombredelaseriedevariablesalacajadeentradadelaexpresindelobjetivo.Cuandoesteeste
completado,sehaceclicsobreRUNparaobtenerlosresultadosdelaoptimizacin,otambinsepuede
hacerclicsobreVerificarVerifyparaexaminarsielmodelohasidoconfiguradocorrectamente.

Losresultadosdeoptimizacin[BK]aparecernsielmodelodeoptimizacinseconfigurcorrectamente.
De igual manera se mostrarn el nmero de iteraciones, la configuracin especfica del modelo, los
parmetros, los resultados iniciales y los optimizados del objetivo, las variables de decisin, los anlisis
tcnicos (Multiplicadores de Lagrange, Matrices Hessianas y otros), y un grfico de la optimizacin
objetivo.



22

Existen tambin otras importantes funcionalidades en el ROV Optimizer, disponible en el menu de


Archivo File, incluyendo Ejemplos y Manejador de Variable debajo del tem men de Variable [BL]. El
manejadordeVariablepermiteAadir,EditaroBorrarVariables.Porejemplo,haciendoclicsobreADD,la
familiarherramienta:vinculadoparmetrodeentradaInputParameterMappingaparece,ellopermite
vincular, calcular, pegar, simular, o ajustar datos existentes para su utilizacin en el proceso de
optimizacin. Finalmente, si la Optimizacin Dinmica o Estocstica es seleccionada, y si las variables
tienensupuestosdesimulacinderiesgoasociados,sepuedeaccederaltabuladordeEstadsticas,porla
cualsepuedehacerusodelaspropiedadesestadsticassimuladasparaejecutarsobrelaoptimizacin.

23
VinculadoaOtrasBasesdeDatos
ElROVRiskModelerpuedevinculardiferentestiposdedatosusadoODBCstandard.Cuandosevinculaa
unabasededatos,sepuedeseleccionarelvnculodedatosDataLinkenelmtododeentrada.Sehace
clic sobre Next y se escribe un nombre nuevo de la variable New Variable Name. Luego se selecciona
Open DB para abrir el tipo de base de datos y se elige la fuente de los mismo en trminos de los
diferentes tipos de datos que ROV Risk Modeler puede conectar, incluyendo CSV, Excel, SQL Server,
Oracle, User DSN, System DSN, y Connection Strings, o simplemente, con el fuente de datos ODBC
standard.
CasoUno:VincularaOracle
Cuando se elija ODBC DSN como conexin a Oracle, introducir direccin local IP del servidor de base de
datos, el relevante identificador de usuario User ID y la clave Password para entrar [BM]. Se puede
encontrar los campos disponibles (variables) los cuales sern seleccionados. Tambin se puede escribir
oracionesSQL,enlacajadeCondicin,hastalasvariablesyvalorescorrectoshaservinculadosporelROV
RiskModeler.Esimportantenotarqueloscomponentesdelasbasesdedatosdebenestarconlaversin
Oracle7.3olamayor.

CasoDos:VincularalUsuarioDSN
Antes de elegir ODBC DSN como Usuario DSN se debe configurar el DSN para un cierto archivo en el
primerpaso.SehaceclicenStart,seleccionarPaneldeControlyManejadordeHerramientasdondeseve
laseleccindelafuentededatos(ODBC)[BN].ElegirlaetiquetadeUsuarioDSN,clicenarchivosExcely
luegoclicenConfiguracin.Enelnuevodilogo,sehaceclicsobreelegirChooseWorkshopyencontrar
unarchiveexistentedeExcelyclicOK[BO].Ahorasepuederegresar al ROV Risk Modeler, vincular una
variable usando el Data Link, clic sobre Open DB y el Usuario DSN, elegir Archivos Excel y una lista de
tablassermostrada.Assevinculatabladedatosexistentesalosarchivosseleccionados.

24

25
ROVScheduler,ROVPortfolio,ROVCharter
TempranamenteenestedocumentoseilustrbrevementeelusodelROVPortfolio,ROVScheduleryROV
Charter. El ROV Portfolio es usado para correr mltiples modelos a la vez desde un simple perfil o
diferentes perfiles [BP]. Se puede hacer clic sobre Open para abrir diferentes perfiles [BQ] donde se
pueda abrir y seleccionar modelos que se desean correr [BR] y decidir si ser corren todos o no como
independientes (portafolio de modelos) o, como modelos dependientes en un portafolio (portafolio de
activos) [BS], donde se puede aadir diferentes factores de ponderacin para cada modelo. Cuando el
portafoliodemodelosescorrido,losresultadossernunalistadevalores[BT].Estosportafoliospueden
ser salvados. Esto significa que un simple portafolio puede contener mltiples modelos y mltiples
perfiles.

26

Similarmente,sepuedeconfigurarelROVScheduler[BU]paracorrermltiplemodelos,portafoliosdesde
diferentes perfiles [BV] justo como en ROV Portfolio. La diferencia es que ahora se puede programar
cuando estos modelos estn configurados para correr [BW]. Finalmente existe el ROV Charter [BX],
herramienta que puede correr mltiples modelos desde diferentes perfiles [BZ] y configurarse los
resultadoscomoarchivosXML[BY] parasercorridosenelROVDashboardcomogrficosytablasenun
medioambientebasadoenWeb,otraherramientadesarrolladaporRealOptionsValuation,Inc.

27

28
CorriendoXMLsinlaInterfasedeUsuario
AlgunasvecesexisteunasituacindondelegustaracorrerlosperfilesXMLdelROVModelersinusarla
interfaz de usuario del ROV Risk Modeler, Risk Valuator y Risk Optimizer. Se puede considerar este
acercamientocomounSDKyescercanoaintegrarelSDKdeexistentesistema.UsandoelROVModelery
el ROV Optimizer sin la interfase de usuario es bastante simple debido a que todas la lgica del los
modelosmodellogicsestcombinadadentrodelarchivoModelLgc.dllyesaplicabledentrodeCcomo
unainterfaz:

int RunProfile (std::wstring& pszWorkDir, std::wstring& pszProfile, std::wstring& pszTitle, int nModID, int nType,
std::wstring&pszFileName)

Porahora,estoadmitetrestiposdeperfiles:
RiskModelprofile,nType=0
OptimizationprofilenType=1
PortfolioprofilenType=2

ElarchivorequeridodeencabezadoModelLgc.dll,incluyetresarchivosdeencabezadoROV:ModelLgc.h,
ModelHandle.h y ResultSet.h; y los encabezados relacionados con la librera incluyen STL, GLib, LibXML.
AbajoestacodificacindemuestraparallamaralModelLgc.dllygenerarelreporte.
//sample.cpp:Definestheentrypointfortheconsoleapplication.
//Step1adjustprojectsetting,addingincludedirectoriesanddependencies:
//Belowisadditionalincludedirectories:
//"G:\RSCPP\Codes\ROVRiskModeler/LibExtra/libxml++2.18.2";
//"G:\RSCPP\Codes\ROVRiskModeler/LibExtra/libxml++2.18.2/MSVC_Net2003/libxml++";
//"G:\RSCPP\Codes\ROVRiskModeler/LibExtra/glibmm2.14.2/glib";
//"G:\RSCPP\Codes\ROVRiskModeler/LibExtra/glibmm2.14.2/glib/glibmm";
//"G:\RSCPP\Codes\ROVRiskModeler/LibExtra/glibmm2.14.2/MSVC_NET2003/glibmm";
//"G:\RSCPP\Codes\ROVRiskModeler/LibExtra/glib2.14.3";
//G:\RSCPP\Codes\Include
//Belowisadditionaldependencies:
//ModelLgc.lib
//Step2includetheModelLgc.hheader

#include"stdafx.h"
#include<string>
#include<iostream>
#include"G://RSCPP//Codes//ROVRiskModeler//ModelLgc//Modellgc.h"

usingstd::wstring;

//Step3callRunProfilemethodtocomputeprofile
intcallRiskModelProfile()
{
//Locationofconfigurationfileswherecontainsthesepcfg.xmlfile
wstrings1(L"G://RSCPP//Profiles");

//Absolutepathofprofile
wstrings2(L"G://RSCPP//Profiles//Examples//01ROVRiskModelerCreditRiskEADCreditPlusAverageDefaults.re");
//Nouse
wstrings3(L"");
//Locationofoutputfile
wstrings4(L"G://output.txt");
//Themodel'sIDintheprofile
intnMode=1;
//RunRiskModeltype
intnType=0;
inti=RunProfile(s1,s2,s3,nMode,nType,s4);
//Return0meanssuccess,elsefailed
std::cout<<i<<std::endl;
return0;
}
29

intcallOptimizationProfile()
{
//Locationofconfigurationfiles
wstrings1(L"G://RSCPP//Profiles");
//Absolutepathofprofile
wstrings2(L"G://RSCPP//Profiles//ROSample//ROSample//dis9.ro");
//Titleofreport
wstrings3(L"Examplereport!");
//Locationofoutputfile
wstrings4(L"G://output_ro.txt");
//Nouse
intnMode=0;
//RunOptimizationtype
intnType=1;
inti=RunProfile(s1,s2,s3,nMode,nType,s4);
std::cout<<i<<std::endl;
return0;
}

intcallPortfolioProfile()
{
//Locationofconfigurationfiles
wstrings1(L"G://RSCPP//Profiles");
//Absolutepathofprofile
wstrings2(L"G://RSCPP//Profiles//ROSample//ROSample//dis9.ro");
//Nouse
wstrings3(L"");
//Locationofoutputfile
wstrings4(L"G://output_ro.txt");
//Nouse
intnMode=0;

//RunPortfoliotype
intnType=2;
inti=RunProfile(s1,s2,s3,nMode,nType,s4);
std::cout<<i<<std::endl;
return0;
}

intmain()
{
callRiskModelProfile();
callOptimizationProfile();
}

30
IntegrandoaOtrosSistemas
ElROVRiskModelerestambinunDLLSDKdondesepuedeintegrarelSDKalpropiosistemadelusuario
para desempear ms desarrollos. El Risk Modeler DLL consta de una gran cantidad de modelos y
algoritmos,yladataenlosarchivosXMLpuedensercargadosporcadamodelo.Porotrolado,sepuede
introducirlosdatosmanualmente,usarlosdatosexistentesovincularlosaunabasededatos.Cuandolos
usuarios cargan el Risk Modeler, los algoritmos analizan sintcticamente los datos en el archivo XML y
retorna los resultados computados. Se puede usar estos resultados y salidas para ciertos archivos y
localizaciones.Lossiguientes,sonejemplosdelasllamadasDLL:
CargarDLLLoadDLL:EnelsistemaWindowssepuedecargarelRiskModelerDLLusando:
LoadLibrary(_T("ModelLgc.dll")
Asegresequesetienelacorrectaentradadeparmetrosenelmodelousado.Todoslosparmetros
de entrada estn basados sobre una estructura de archivo XML como se sigue. El nmero de estilos de
entradas y parmetros son dependientes de los diferentes modelos y algoritmos. Los valores de datos
pueden ser nmeros simples o una variable, desde Excel o una serie de nmeros en la basa de datos y,
estosdependendelalocalizacindelosdatosdelusuario.

EstoesunasimpleestructuraXMLconlacualsealmacenalosparmetrosdemodelo:

<?xmlversion="1.0"encoding="utf8"?>
<root>
<risktypetype="credit"/>
<modelname="PDforPubliclyTradedFirms"ID="5"process="ProbabilityofDefault(PD)"note="">
<varname="MarketValueEquity"ID="1"datatype="">
<mapmaptype="Manual"name="MI_1">
<dataname="MI_1"uniquevalue="2"text="3000"/>
</map>
</var>
<varname="MarketEquityVolatility"ID="2"datatype="">
<mapmaptype="Manual"name="MI_2">
<dataname="MI_2"uniquevalue="2"text="0.45"/>
</map>
</var>
<varname="BookValueLiabilitiesandDebt"ID="3"datatype="">
<mapmaptype="Manual"name="MI_3">
<dataname="MI_3"uniquevalue="2"text="10000"/>
</map>
</var>
<varname="RiskFree"ID="4"datatype="">
<mapmaptype="Manual"name="MI_4">
<dataname="MI_4"uniquevalue="2"text="0.05"/>
</map>
</var>
<varname="GrowthRate"ID="5"datatype="">
<mapmaptype="Manual"name="MI_5">
<dataname="MI_5"uniquevalue="2"text="0.07"/>
</map>
</var>
<varname="Maturity"ID="6"datatype="">
<mapmaptype="Manual"name="MI_6">
<dataname="MI_6"uniquevalue="2"text="1.00"/>
</map>
</var>
</model>
<simulationrunsim="1"trials="500"seed="0"runstress="0"percent="0"/>
<output_optionradio="0"/>

<variable>
</variable>
</root>

31
El Model es el algoritmo y VAR es la variable requerida por el modelo. La Simulacin es alguna
informacinparalafuncionesdesimulacin.PorfavornotequelasreglasynodosparaelarchivoXMLno
puedensercambiadosamedidaquetodoslosmodelossoncalculadosbasndoseenlosdatosdelarchivo
XML. A parte de eso, los algoritmos de Risk Modeler no pueden cargarse sin el nmero correcto de
parmetrosdeentrada.

Laestructuradelosretornosdelmodeloescomosigue:

std::vector<ResultsSet*>*pResult;
template<classT>
structCResultSet
{
std::vector<CResultSet<T>*>*child;
inttype;//double,string
intsetType;//single,vector,vector<vector>
intidentity;
boolbChild;
std::vector<std::vector<T>*>*thisValue;
};

TodoslosmodelosrebobinanalapuntadordepResultdespuscalculanlosparmetrosdeentradadesde
elXML.Sepuedesacarestosvaloresalarchivoylocalizacinsealados.

Mtododellamadoalosmodelos:

Lo siguientes cdigos demuestran el puerto de datos y funciones de llamado a los algoritmos del Risk
ModelerenelmedioambientedeWindows.ElparmetropszProfileeselnombredelarchivoconlacual
almacenalosarchivosXMLynModIDeselnmerodeIDparacadamodelo.

//defineafunctionpointer
typedefvoid*(*Compute)(wchar_t*pszProfile,intnModID);
//CteateafunctionpointercaseandpointtoComputeModel
ComputepFunc=(Compute)GetProcAddress(m_hModelLgcDll,"ComputeModel");
if(pFunc!=NULL)
//CallComputeModelMethodThiswilllocatetheneededmodelintermsofthenModIDnModID
pResult=pFunc(pszProfile,uID);
//Defineafunctionpionter
typedefvoid(*FreeResult)(void*pResult);
//CreateafunctionpointercaseandpointtotheFreeResultReleasethememoryspaceusedbythereturnvalue
FreeResultpFunc=(FreeResult)GetProcAddress(m_hModelLgcDll,"FreeResult");
if(pFunc!=NULL)
pFunc((void*)pResult);

CasosdeEjemplos

PasoUno:
CrearunNuevoarchivoXMLllamadoPD.xmlycopiarelcontenidoxmldearribaaestexmlysalvarel
archivo
PasoDos:
AbrirVisualStudio2005yhacerclicsobreFile,New,yProjectparacrearunnuevoproyecto
ElegirWin32ConsoleApplicationynombrarelproyectocomoMyExecDllSample
Hacer clic en OK y levantar Win32 Application Wizard. En la pagina de dilogo wizard Overview, clic
Next
En la pgina Win32 Application Wizards Application Settings, elegir Application Type y Console
Application
En la pgina Win32 Application Wizards Application Settings, deshabilitar la casilla Precompiled
HeaderinlaseccinAdditionalOptions

32

PasoTres:UselasiguientecodificacinparareemplazarloscdigosexistentesenelarchivoC++:

#include"stdafx.h"
#include"ResultSet.h"
#include<iostream>
#include<vector>
#include<string>
#include<stdio.h>
int_tmain(intargc,_TCHAR*argv[])
{
//loadthelibraryandusethemodelstocompute
HINSTANCEhDll=LoadLibrary(_T("ModelLgc.dll"));
if(hDll==NULL)
::MessageBox(NULL,_T("Loadcalculationdllfailed!"),_T("Error"),MB_OK);
std::vector<RCBaselII::ResultsSet*>*pResult=NULL;
typedefvoid*(*Compute)(wchar_t*pzProfile,intnModID);
ComputepFunc=(Compute)GetProcAddress(hDll,"ComputeModel");
if(pFunc!=NULL)
pResult=(std::vector<RCBaselII::ResultsSet*>*)pFunc(_T("PD.xml"),5);

//SavethestructurewhichthepResultpoint:OutputtheResult
stringstrOut;
33
typedefstd::vector<double>columns;
for(inti=0;i<pResult>size();i++)
{
RCBaselII::ResultsSet*pRet=pResult>at(i);
strOut.append(pRet>name);
strOut.append(":\n");
charszData[32]={0};
std::vector<columns>*pValueTmp=(std::vector<columns>*)pRet>pValue;
_snprintf(szData,sizeof(szData)/sizeof(szData[0])1,"%lf",pValueTmp>at(0).at(0));
strOut.append(szData);
strOut.append("\r\n");
}
cout<<strOut;

//Releasethereturnmemoryspace
typedefvoid(*FreeRes)(void*pResult);
FreeRespFunction=(FreeRes)GetProcAddress(hDll,"FreeResult");
if(pFunction!=NULL)
pFunction((void*)pResult);
FreeLibrary(hDll);
return0;
}
Build>BuildSolutiongeneratetheEXEfile

PasoCuatroCorrerelprogramagenerado
CopiarelarchivoPD.xmlalmismodirectorio.Levantarlaordeneiraldirectorio,clicenelnombredel
programaycorrer.
Si esto no compila o corre, primero revise si la localizacin de SDK esta en directorio del compilador.
Luego, chequear si el archivo XML est en el mismo directorio del programa de aplicacin y tratar de
nuevo.



34

APENDICE:CASOSDEUSOSQLYEJEMPLOS

35
CasosCondicionalesdeUsodelSQL
Lo siguiente son algunos de los casos comunes para la cual un gran conjunto de datos
pueden ser proyectados, limpiados y filtrados para retornar las filas de datos requeridas
para los anlisis en el Risk Modeler. Cada Caso de Uso muestra un rpido resumen del
problemahaserresuelto,acompaadoporelarchivodedatosdemuestraXLS,elperfilyel
nombre del modelo Risk Modeler RE, as como tambin simples pantallas para ilustrar el
conjuntodedatosexistentes,elenlacetomadoylosresultados.Claramente,elconjuntode
datos de muestra es pequeo, mantenido intencionalmente para facilitar la experiencia de
aprendizaje, pero similares acercamientos y tcnicas ilustradas en estos casos usados y
documentados son aplicables para todo los tamaos de conjuntos de datos. Adelante se
muestraunbreveresumendelostemsclavesenestosejemplosdecasosdeuso:

Variable>Valueobtienefilasdeabajounvalorlimite
Variable>80ANDVariable<100permiteaadirconANDparacrearfiltrosmltiples
Variable < 80 OR Variable > 100 permite seleccionar datos con condiciones de filtrado
OR
(Variable > 80 AND Variable < 90) OR (Variable > 100) permite seleccionar sentencia
anidadasAND/OR
VariableIN(aaa,ccc)permitecoincidirfilasconciertasseriesenlabasededatos
VariableBETWEEN80AND100permiteunaseleccindevaloresentresdosnmeros
Variable LIKE '%AN%' usa factores de coincidencia % largo de series y caracteres
incluyendoespacios
VariableLIKE'_AN'permitefactoresdecoincidenciadeunsimplecarcter(_)
Variable1/Variable2,Variable1*Variable2,Variable1+Variable2correclculos
(Y/100+Z/10)/3>XOR(ZY/100)>XpermitecombinacionesdeORconclculos
X < 4 UNION SELECT X FROM [first$] WHERE X > 10 permite la unin de mltiples
preguntas
ISNUMERIC(Variable)permitelaseleccindesolovaloresnumricos
1 = 2 UNION SELECT TOP 5 [first$].X,[first$].Y,[first$].Z FROM [first$] permite elegir
algunasfilassuperioresmediantelaincorporacindelauninconfuncionessuperiores
NOT X IN (SELECT TOP 5 [first$].[X] FROM [first$]) noseleccionadatosenlasprimeras
filastopes
EXISTS(SELECT[first$].ZFROM[first$]WHEREZ>75)chequeasilaspreguntasretornan
algnvalorono,retornaunconjuntovaco
Variable1IN(SELECT[second$].[A]FROM[second$])combinatablasmltiplesdedatos
NOTES: `Long Variable Names` usar comilla simple backtick para aplicar nombre de
variableslargasymarcasregulares(apostrophe)paravalores(p.ej.,`CountryofOrigin`=
UnitedStates)
NOTES: Union siempre ordena los resultados de la primera columna en orden
ascendiente
36
CasodeUso1:SeleccindeFilasporValores
Situacin: En un archivo grande de datos, puede usarse sentencias
condicionalesparaseleccionarfilasconvaloresespecficos(p.ej.,mayorque
unlmiterequerido).
InstruccinSQL:Variable>Value
Ejemplo:Number>100
PerfilyModelodeEjemplo: Use Case15.rey modeloUseCase1
ArchivodeDatosdeEjemplo:SampleData1.xls
Note:Youcanuse>=,<=,>,<inequalities

Resultado:

37
CasodeUso2:UsodelAND
Situacin: Usar el AND para conectar dos o mas condiciones al mismo
tiempo,sitodaslascondicionessonverdaderasTRUE,entonceslos datos
sonseleccionados.
InstruccinSQL:conditionANDconditionANDconditionAND
Ejemplo:Number>80ANDNumber<100
PerfilyModelodeEjemplo: UseCase15.rey modelo UseCase2
ArchivodeDatosdeEjemplo:SampleData1.xls

Resultado:

38
CasodeUso3:UsodelOR
Situacin: Usar el OR para conectar dos o mas condiciones al mismo
tiempo, una vez que la condicin es TRUE, la data seleccionada incluso
cuandootrascondicionessonfalsaFALSE.
InstruccinSQL:conditionORconditionORconditionOR
Ejemplo:Number<80ORNumber>100
PerfilyModelodeEjemplo: UseCase15.re ymodelo UseCase3
ArchivodeDatosdeEjemplo:SampleData1.xls

Resultado:
39
CasodeUso4:UsodelANDyelORjuntos
Situacin:UsarelANDyelORjuntosparaconstruircomplejoscomandos
depreguntas.
InstruccinSQL:conditionANDconditionORcondition
Ejemplo:(Number>80ANDNumber<90)OR(Number>100)
PerfilyModelodeEjemplo: UseCase15.re ymodelo UseCase4
ArchivodeDatosdeEjemplo:SampleData1.xls
Notes:youcangroupcommandsusingparenthesis()(Esp:Sepuedeagrupar
usandoparentesis)

Resultado:
40
CasodeUso5:UsodeIN
Situacin: Usar el comando IN para especificar un valor (o mltiples
valores)paracoincidir.
InstruccinSQL:Variable IN(value1,value2)
Ejemplo:StringIN(aaa,ccc)
PerfilyModelodeEjemplo: UseCase15.re y modelo UseCase5
ArchivodeDatosdeEjemplo:SampleData2.xls
Note: If the values filtered are strings, use quotes (Esp. Si los valores son
filtradoscomocaracteresusecuotas)

Resultado:

41
CasodeUso6:UsodelBETWEEN
Situacin: Usando el BETWEEN se selecciona datos dentro de un rango
especfico.
InstruccinSQL:Variable BETWEENvalue1 ANDvalue2
Ejemplo:NumberBETWEEN80AND100
PerfilyModelodeEjemplo: UseCase510.re ymodelo UseCase6
ArchivodeDatosdeEjemplo:SampleData2.xls

Resultado:

42
CasodeUso7:UsodelLIKE
Situacin:LacondicinLIKEpermiteusarcomodinesenlaclusulaWhere,
permitiendodesempearcoincidenciadepatrones.
InstruccinSQL:
Lospatronesquesepuedenescogerson:
%allowsyoutomatchanystringofanylength(includingzerolength)
_allowsyoutomatchonasinglecharacter

Ejemplo:store_nameLIKE'%AN%'
PerfilyModelodeEjemplo:UseCase510.reyelmodeloUseCase7
ArchivodeDatosdeEjemplo:SampleData3.xls
Resultado:

43
CasodeUso8:SimpleFuncionesMatemticas
Situacin: Funciones bsicas matemticas pueden ser aplicadas sobre las
variables.
Instruccin SQL: Variable1 / Variable2, Variable1 * Variable2, Variable1 +
Variable2
Ejemplo:Y/Z>30
PerfilyModelodeEjemplo: UseCase510.re ymodelo UseCase8
ArchivodeDatosdeEjemplo:SampleData4.xls
Resultado:

44
CasodeUso9:FuncionesMatemticasAnidadas
Situacin: La funciones matemticas pueden ser bastantes complejas
(justamentecomofuncionesmatemticas).
Ejemplo:(Y/100+Z/10)/3>XOR(Z Y/100)>X
PerfilyModelodeEjemplo:UseCase510.reymodeloUseCase9
ArchivodeDatosdeEjemplo: SampleData4.xls
Resultado:

45
CasodeUso10:UsodeUnionparaConectarComandos
Situacin: Union es un importante comando para conectar dos o ms
resultados de preguntas juntas. Cuando se crean complejos comandos,
dividecomandoscompletosenpiezaspequeasyaplicaUnion.
InstruccinSQL:CONDITION1UNIONSELECTCOLUMNFROM TABLENAME
WHERECONDITION2
Ejemplo:X<4UNIONSELECTXFROM[first$]WHEREX>10
PerfilyModelodeEjemplo: UseCase510.re ymodelo UseCase10
ArchivodeDatosdeEjemplo:SampleData4.xls
Note: using Union can sometimes sort the resulting dataset (Esp. usando
Unionsepuedealgunasvecesordenarlosbasededatosresultante)
Resultado:

46
CasodeUso11:FiltrandoDiferentesTiposdeDatos
Situacin: Si una columna de datos ha sido mezclada con nmeros,
caracteres y otros tipos de valores, se puede filtrar datos numricos
mediantelaaplicacindelcomandoISNUMERIC.
InstruccinSQL:ISNUMERIC(Variable)
Ejemplo:ISNUMERIC(Number)
PerfilyModelodeEjemplo: UseCase1115.re ymodelo UseCase11
ArchivodeDatosdeEjemplo:SampleData5.xls

Resultado:

47
CasodeUso12:EligiendolasFilasSuperioresTopN
Situacin:Paraseleccionarlasfilassuperiores(topes=topN)enunatabla,
useloscomandosUNIONyTOPjuntos.
InstruccinSQL:TOPN*FROMTABLE_NAME
Ejemplo: 1 = 2 UNION SELECT TOP 5 [first$].X,[first$].Y,[first$].Z FROM
[first$]
Caution:ElsegundoSELECTdefilasseleccionadasdecomandodebeserel
mismodelasfilasseleccionadasdelacajadelistas.1=2significasiempre
FALSEhacequelaprimeracondicinseleccionadanotengaresultado.
PerfilyModelodeEjemplo: UseCase1115.re ymodelo UseCase12
ArchivodeDatosdeEjemplo:SampleData4.xls
Resultado:
48
CasodeUso13:UsodeNOTIN
Situacin: NOT IN es usado para filtrar fuera valores obtenidos desde la
prxima condicin de comando. Si el valor de la columna es nico, esto
puedeserusadoparaobtenervaloresdesdeunrangodefilas.
InstruccinSQL:NOTVariableIN(command)
Ejemplo:NOTXIN(SELECTTOP5[first$].[X]FROM[first$])
PerfilyModelodeEjemplo: UseCase1115.re ymodelo UseCase13
ArchivodeDatosdeEjemplo:SampleData4.xls

Resultado:
49
CasodeUso14:UsodeEXISTS
Situacin: EXISTS simplemente examina si el interior de una pregunta
retornaalgunafila.Siestepasa,entonceselexteriordelapreguntaprocede.
Si no, el exterior de la pregunta no se ejecuta, y la sentencia SQL completa
retornanada.
Instruccin SQL: EXISTS (SELECT * FROM "table_name2" WHERE
[Condition])
Ejemplo:EXISTS(SELECT[first$].ZFROM[first$]WHEREZ>75)
PerfilyModelodeEjemplo: UseCase1115.re ymodeloUseCase14
ArchivodeDatosdeEjemplo:SampleData4.xls
Resultado:

50
CasodeUso15:UsodeMltiplesTablas
Situacin: Usar el comando SELECT para conectar mltiples tablas para
coincidirelementos.
Instruccin SQL: Variable1 IN (SELECT Variable2 FROM Table_Name2
WHERECondition2)
Ejemplo:XIN(SELECT[second$].[A]FROM[second$])
PerfilyModelodeEjemplo:UseCase1115.reymodeloUseCase15
ArchivodeDatosdeEjemplo:SampleData4.xls

FIRSTTABLESECONDTABLE

Resultado:

51
CasodeUso16:EjemplousandoAND
Situacin:Seleccionarelnmerodeestudiantesentrequienespasaroncada
examen.
PerfilyModelodeEjemplo: UseCase1620.re ymodeloUseCase16
ArchivodeDatosdeEjemplo:SampleData6.xls
Resultado:
52

CasodeUso17:EjemplousandoComodinesconAND
Situacin: Seleccionarelnmero deestudiantes cuyos Nombres comienzan
conAoJy(AND)deEdad(Age)mayoresque16
PerfilyModelodeEjemplo:UseCase1620.reymodeloUseCase17
ArchivodeDatosdeEjemplo:SampleData6.xls
Resultado:
53

CasodeUso18:EjemplousandoUnionconSorting
Situacin:Seleccionarlas5msaltosnotasenGeografa.
PerfilyModelodeEjemplo:UseCase1620.reymodeloUseCase18
ArchivodeDatosdeEjemplo:SampleData6.xls

Resultado:
54
CasodeUso19:EjemplousandoComodinesyMatemtica
Situacin: Seleccionar los estudiantes cuyos nombres contienen el carcter
Ayelpromediodenotasmayorque85.
PerfilyModelodeEjemplo: UseCase1620.re ymodelo UseCase19
ArchivodeDatosdeEjemplo:SampleData6.xls
Resultado:
55
Caso de Uso 20: Ejemplo usando AND/OR Anidado con
Matemticas
Situacin: Seleccionar los estudiantes que tienen un promedio de notas
entre85y95cuandolaedaddeelloses>=16otienenotaspromediosms
altaque80cuandolaedades<16.
PerfilyModelodeEjemplo: UseCase1620.re ymodelo UseCase20
ArchivodeDatosdeEjemplo:SampleData6.xls
(Age >= 16 AND ((Math + English + Biology + Geography)/4 BETWEEN 85
AND 95)) OR (Age < 16 AND ((Math + English + Biology + Geography)/4 >
80))
Resultado:

56
CasodeUso21:UsodeUNIONALL
Situacin:ElpropsitodelcomandoUNIONALLescombinarlosresultados
de dos preguntas. La diferencia entre UNION ALL y UNION es que
mientras UNION slo selecciona distintos valores, UNION ALL selecciona
todoslosvalores.
InstruccinSQL:[SQLStatement1]UNIONALL[SQLStatement2]
Ejemplo: X < 4 UNION ALL (SELECT [first$].[X], [first$].[Y] FROM [first$]
WHEREY>1000)
PerfilyModelodeEjemplo: UseCase2125.reymodelo UseCase21
ArchivodeDatosdeEjemplo:SampleData4.xls
Resultado:

57
CasodeUso22:UsodeFuncionesSQL
Situacin: SQL tiene una gran cantidad de funciones aritmticas, ellas son
AVG,COUNT,MAX,MIN,SUMysontilescuandosetienequerealizar
algunafuncinconelresultado.
Instruccin SQL: SELECT "function type"("column_name") FROM
"table_name"
Ejemplo:1=0UNIONALL(SELECTSUM([Store_Information$].[Number])
FROM[Store_Information$])
PerfilyModelodeEjemplo:UseCase2025.reymodeloUseCase22
ArchivodeDatosdeEjemplo:SampleData7.xls

Resultado:

58
CasodeUso23:UsodeGROUPBY
Situacin:EnelusodelCaso22seutilizsumparacalcularelnmerototal
detodaslastiendas.Qusepuedehacersisequierecalcularcadanmero
detienda?EllosepuedelograrusandoGROUPBY.
Instruccin SQL: SELECT "column_name1", SUM("column_name2") FROM
"table_name"GROUPBY"column_name1"
Ejemplo:1=0UNIONALL(SELECTSUM([Store_Information$].[Number])
FROM[Store_Information$]GROUPBYStore_Name)
PerfilyModelodeEjemplo:UseCase2025.reymodeloUseCase23
ArchivodeDatosdeEjemplo:SampleData7.xls

Resultado:

59
CasodeUso24:UsodeDISTINCT
Situacin: Cuando en una columna existen algunos valores son similares y
no se quiere mostrarlos, usar el comando DISTINCT para mostrar valores
nicos.
InstruccinSQL:SELECTDISTINCTVariableFROMTable_name
Ejemplo: 1 = 0 UNION (SELECT DISTINCT [Table1$].[Number] FROM
[Table1$])
PerfilyModelodeEjemplo: UseCase2025.reymodelo UseCase24
ArchivodeDatosdeEjemplo:SampleData8.xls

Resultado:

60
CasodeUso25:UsodeORDERBY
Situacin:Cuandosenecesitelistarlos datos en unorden particular, use el
comandoORDERBY.
Instruccin SQL: SELECT "column_name" FROM "table_name" [WHERE
"condition"]
ORDERBY"column_name"[ASC,DESC]
Ejemplo:Number>80ANDNumber<100
PerfilyModelodeEjemplo: UseCase2025.reymodelo UseCase25
ArchivodeDatosdeEjemplo:SampleData4.xls
Resultado:

61
CasodeUso26:SeleccinporFechasconBETWEEN
Situacin:BetweenpuedeserusadoinunvariabledeentradaFecha(Date)
perorequiereunformatoespecialparausarse.
InstruccinSQL:BETWEEN#date1#AND#date2#
Ejemplo:DATEBETWEEN#1905/7/1#AND#1905/7/5#
Perfil y Modelo de Ejemplo: Use Case Dates.re y los dos modelos en este
perfil
ArchivodeDatosdeEjemplo:SampleData9.xlsandSampleData10.csv

Resultado:

Potrebbero piacerti anche