monografia

69
LEONARDO  NASCIMENTO FERREIRA UM TRADING SYSTEM AUTÔNOMO BASEADO EM REDES NEURAIS ARTIFICIAIS Monografia de Graduação apresentada ao Departamento de Ciência da Computação da Universidade Federal de Lavras como parte das exigências do curso de Ciência da Computação para obtenção do título de Bacharel em Ciência da Computação. Orientador Prof. Cristiano Leite de Castro                                                                                  LAVRAS MINAS GERAIS – BRASIL 2009

Upload: urblixo

Post on 29-Sep-2015

2 views

Category:

Documents


0 download

DESCRIPTION

monografia

TRANSCRIPT

  • LEONARDONASCIMENTOFERREIRA

    UMTRADINGSYSTEMAUTNOMOBASEADOEMREDESNEURAIS

    ARTIFICIAIS

    Monografia de Graduao apresentada aoDepartamentodeCinciadaComputaodaUniversidadeFederaldeLavrascomopartedas exigncias do curso de Cincia daComputao para obteno do ttulo deBacharelemCinciadaComputao.

    Orientador

    Prof.CristianoLeitedeCastro

    LAVRASMINASGERAISBRASIL

    2009

  • LEONARDONASCIMENTOFERREIRA

    UMTRADINGSYSTEMAUTNOMOBASEADOEMREDES

    NEURAISARTIFICIAIS

    Monografia de Graduao apresentada aoDepartamentodeCinciadaComputaodaUniversidadeFederaldeLavrascomopartedas exigncias do curso de Cincia daComputao para obteno do ttulo deBacharelemCinciadaComputao.

    APROVADAem______de________de_________.

    ______________________________________Prof.ThiagodeSouzaRodrigues

    ______________________________________Prof.WilianSoaresLacerda

    _________________________________Prof.CristianoLeitedeCastro

    (Orientador)

    LAVRASMINASGERAISBRASIL

    2009

  • Aosmeuspais,SilvanaeLudgero

  • SUMRIO

    ListadeFiguras................................................ 6

    ListadeTabelas................................................ 8

    Resumo.....................................................

    9

    1.Introduo..................................................

    10

    2.ReferencialTerico............................................132.1AnliseTcnica.......................................13

    2.1.1AteoriadeDow............................... 142.1.2Omercadodescontatudo........................142.1.3Astendnciasdemercado.......................142.1.4Tendnciasdivididaemtrsfases................. 15

    2.2GrficosdeCandlesticks................................162.3Indicadorestcnicos...................................20

    2.3.1ndiceestocstico..............................212.4RedesNeuraisArtificiais................................

    23

    2.4.1Oneurnioartificial............................252.5TreinamentodoPerceptron..............................27

    2.5.1OTreinamento................................272.5.2OAlgoritmo..................................292.5.3Momento....................................30

    2.6PerceptrondeMltiplasCamadas.........................322.6.1Histrico.....................................322.6.2RedesdeNeurnios............................332.6.3Topologias...................................33

    2.7TreinamentodeRedesPerceptron.........................362.7.1Introduo....................................362.7.2TiposdeTreinamento...........................372.7.3Treinamentoparaperceptrondemltiplascamadas...392.7.4Definiesdearquiteturaeparmetros.............41

    2.8Trabalhoscorrelatos....................................

    42

    4

  • 3.Metodologia..................................................433.1Introduo........................................... 433.2OParser.............................................44

    3.2.1Processamento................................ 443.2.2Rotulao....................................453.2.3Armazenamento...............................463.2.4Normalizao.................................473.2.5Funcionamento................................47

    3.3RedeMLP...........................................483.3.1Topologia.................................... 483.3.2FunodeAtivao............................493.3.3DefiniodeParmetros........................ 503.3.4Algoritmodetreinamento....................... 503.3.5Validao.................................... 50

    3.4Tecnologia........................................... 513.4.1Implementao................................513.4.2FrameworkJOONE............................

    51

    4.Resultados...................................................534.1TradingSystem....................................... 534.2Teste................................................ 55

    5.Concluso...................................................58

    6.RefernciasBibliogrficas...................................... 61

    AnexoA...................................................... 63

    AnexoB...................................................... 65

    5

  • LISTADEFIGURAS

    Figura1 Candles............................................ 17

    Figura2 Exemplosdegrficodecandlesticks..................... 17

    Figura3 Candlesdediferentestamanhos......................... 18

    Figura4 Candlessemsombra.................................. 19

    Figura5 Padresqueprevemtendnciadealta.................... 19

    Figura6 Padresqueprevemtendnciadebaixa.................. 20

    Figura7 Grficodetemperaturaepressoparadiashistricos,contendoaretadeseparaodeclasses........................... 24

    Figura8 Funcionamentodoneurnioartificial.....................25

    Figura9 Problemanolinearmenteseparvel......................28

    Figura10 Tempodeaprendizadosemmomento(esquerda)ecommomento(direita).................................... 31

    Figura11 Aprendizadosemmomento(direita)ecommomento(esquerda).................................. 31

    Figura12 Altataxademomentopodeprejudicartreinamento.......... 32

    Figura13 NomenclaturaparaascamadasdasRedesdeNeurnios......34

    Figura14 Redefeedforwarddenicacamada.......................35

    Figura15 Redefeedforwarddemltiplascamadas...................35

    Figura16 Exemploderederecorrente............................ 36

    Figura17 Aprendizadosupervisionado............................ 38

    Figura18 Aprendizadonosupervisionado........................ 38

    Figura19 Aprendizadocomreforo.............................. 39

    Figura20 FasesdoalgoritmosBackpropagation.................... 40

    Figura21 AlgoritmoBackpropagation............................ 40

    Figura22 Fluxogramadefuncionamentodosistema................. 43

    6

  • Figura23 Representaodajaneladetemporotuladasalvaemarquivo.. 46

    Figura24 EstruturadaRNAutilizada............................. 49

    Figura25 Criao,treinamentoevalidaodeumaRNAutilizandooframeworkJOONE...................................

    52

    Figura26 Telaprincipaldosoftwaredesenvolvido...................54

    7

  • LISTADETABELAS

    Tabela1 Interpretaodoarquivodehistricodepreos.............. 45

    Tabela2 Rtuloparapossveisclassificaodejaneladetempo........ 47

    Tabela3 Aesprocessadas.................................... 56

    Tabela4 ResultadosparadiferentestopologiasdeRNAediferentes

    parmetros.......................................... 56

    8

  • UMTRADINGSYSTEMAUTNOMOBASEADOEMREDESNEURAIS

    ARTIFICIAIS

    Resumo

    Existemhojenomercadoinmerossistemaseletrnicosque,apartirdegrficoshistricosedadosatuais,conseguempreveratendnciadospreosdasaes. Essestradingsystemsfazemaanlise tcnicasdospreosobservandovriosndiceseprocurandoporpadresjconhecidosemsrieshistricas.Ograndeproblemacomessessistemasquesolimitadosaoconhecimentodoespecialista o qual determinouos padres. Assim, utilizando Redes NeuraisArtificiais e grficos de Candlesticks, propemse a criao de um tradingsystemque faaa analise grfica, aprenda de formaautnomaa reconhecerpadresemsriesedetermineautomaticamentegatilhosdecompraevendadeumadeterminadaao.

    Palavraschave:RedesNeuraisArtificiais;AnliseTcnica;Candlesticks.

    ANAUTONOMOUSTRADINGSYSTEMBASEDONARTIFICIAL

    NEURALNETWORKS

    Abstract

    Recently, several computational systems have used historical pricesseriesandeconomicindexestopredictsharepricesinstockmarket.Ingeneral,thesetradingsystemsarebasedontechnicalanalysistoolswhichpreprocessdatainordertofindbuyingandsellingpatterns.Theproblemofthisapproachisthatthesepatternsshouldbeindicatedbyspecialistsinstockmarket.Toovercomethis problem, we propose an autonomous trading systembased on ArtificialNeuralNetworks,candlesticksgraphsandstochasticindex.Ourtradingsystemisabletolearnpatternsbyitselfandautomaticallytopredictbuyingandsellingtriggersofaspecificshare.

    Keywords:ArtificialNeuralNetwork;TechnicalAnalysis;Candlesticks;

  • 1.INTRODUO

    Comosurgimentodas bolsas devalores, inmerosestudos foramrealizados

    afimdetentarencontrarexplicaesparaavariaodospreosdasaes,mas

    especificamente, tentar obter lucro com a compra e venda das aes. A

    princpio, acreditavase que esse comportamento era apenas reflexo de

    acontecimentosreferentesaempresacomoporexemplo,anotciadedescoberta

    deouroporumamineradoraprovavelmenteelevariaopreodopapel.Porm,a

    menosqueoinvestidortenhaacessoainformaesprivilegiadas,muitodifcil

    acompanhareprevernotciascomoessas.

    No sculo XVIII, acreditase que um japons negociante de arroz

    chamadoHommaMunehisa,inventouumgrficopararepresentaropreodas

    aesconhecidocomoGrficodeCandlesticks.Essarepresentaopossibilitou

    inmerosestudosmatemticos,masaindaseacreditavaquenoerapossvel,a

    partirdegrficos,preverocomportamentodasaes.Pensavasequeoseventos

    eramaleatrios.

    NofinaldosculoXIX,ojornalistaamericanoCharlesHenryDowcriou

    ateoria,quemaistardesustentouaAnliseTcnica.Essateoria,afirmaqueo

    mercadodescontatudo,ouseja,emalgummomento,adescobertadeouropela

    mineradoraserrefletidanosgrficosdepreo.Assim,passouseaacreditarque

    todaaAnliseFundamentalista,aquelabaseadaemnotcias,estenglobadana

    AnliseTcnica.

    Com o passar do tempo e o avano nos estudos relacionados a

    engenhariafinanceira,descobriusequeosgrficosdeCandlesticksfacilitavama

    observaodepadresqueantecipavampontosdereversoouconfirmavama

  • tendncia dos preos. Alm desses padres, vrios indicadores, baseados

    tambmemgrficosefrmulasmatemticas,foramcriadosparafuncionarem

    como gatilhos, ou seja, para tentarem responder a pergunta que todos os

    investidores gostariam de saber: Qual o melhor momento para comprar ou

    venderumdeterminadopapel?

    A resposta para essa pergunta ainda muito difcil de se descobrir,

    pormcomosurgimentodoscomputadoreseainternet,ossistemaseletrnicos

    aumentaram,deformasignificativo,ataxadeacertos.EssestradingSystems

    viabilizaram o investimento almde popularizar o mercado entre pequenos

    investidorestornandosepoderosasferramentasdeauxilioesuporteadeciso.

    Sistemas de apoio tomada de deciso incorporam ferramentas

    computacionaisparamineraodedados,previsoereconhecimentodepadres

    comportamentaisdomercado.Dentreasferramentas,destacamse,noramoda

    IntelignciaArtificial,asRedesNeuraisArtificiais(RNAs).RNAssomodelos

    inspiradosnoaprendizadodosneurniosbiolgicosetmsidoextensivamente

    utilizadasemaplicaesnareadepreviso(regresso)ereconhecimentode

    padres. Especialmente, para o mercado de aes, inmeros trabalhos tm

    reveladoaeficciadetalferramentacomoauxliodecisodoinvestidor.

    No contexto de grficos de Candlesticks, Anlise Tcnica e RNAs,

    propemseodesenvolvimentodeumtrandingsystemquefaaaanlisegrfica,

    aprenda de forma autnoma a reconhecer padres em sries financeiras e

    determineautomaticamenteospontosdereverso(gatilhosdecompraevenda)

    paraumadeterminadaao.

    Paraalcanaresseobjetivo,ser necessrioodesenvolvimentodeum

    parserqueirpercorrerassriestemporaisearmazenarospadresdereverses

    emumarquivoqueserutilizadocomoconjuntodetreinamentoparaumaRNA.

    11

  • Aconstruodessesistemainteressantepoisaindanoseconheceum

    sistema independente que utilize candlesticks. Apenas sistemas tutores e de

    apoioadecisoforamimplementados.

    12

  • 2.REFERENCIALTERICO

    Tendoemvistatodaaproblemtica,sevnecessrioumarevisobibliogrfica

    abordandoosprincipaistpicoscitados.

    2.1ANLISETCNICA

    AAnliseTcnica,oestudodocomportamentodospreosdasaes

    utilizandogrficos,porissotambmchamadadeAnliseGrfica[1].Apartir

    desseestudo,muitasteoriassurgiramparatentarexplicarcomportamentoscomo

    a reverso de tendncia nos preos. Vrios ndices, expressos em frmulas

    matemticas, foram criados com o intuito de tentar prever e explicar

    comportamentosnotadosnosgrficos.

    AntesdosurgimentodaAnliseTcnica,acreditavasequesomenteera

    possvel prever comportamento dos preos analisandoos fatos que ocorriam

    envolvendo a empresa. Se a empresa est crescendo financeiramente

    provavelmenteopreodasaes deveaumentar. Seumaempresapetrolfera

    encontrarumpoodepetrleo,opreodoativodevesubir.Assim,umaanlise

    interna da empresa feita estudando gastos, lucro, greves, fatores polticos,

    notciasenvolvendoaempresaemgeral, afimdetentarobservarfatoresque

    pudessemlevaraocrescimentoeconseqentemente,aoaumentodopreodo

    papel.Esseestudo,tambmconhecidocomoAnliseFundamentalista,foiusado

    durantemuitotempoeaindausado.Entretanto,tratasedeestudoespecficode

    cadaempresa,sendomuitasvezesdifcildepreverouencontrarnotciascomo

    essas.

  • 2.1.1AteoriadeDow

    OprincipalmotivoquedeuforaaAnliseTcnicaforamasteoriasdo

    norteamericanoCharlesH.Dowqueapsrealizarestudosobrecomportamento

    dospreosdasaesdabolsadeNovaIorque,levantoutrspontosprincipais

    [1].Vejamossuasconcluses.

    2.1.2Omercadodescontatudo

    Issosignificaqueosndicesrefletemoconjuntodenegociaodetodos

    osinvestidores,sejaesteuminvestidorleigoouumdetentordeumainformao

    privilegiada. Conseqentementej estodescontadosnos ndicesinformaes

    desconhecidas pelograndepblico. Voltandoaoexemplodamineradoraque

    encontrou ouro, provavelmente os diretores da empresa seroos primeiros a

    comprar aes da empresa, logo que possuem informao privilegiada em

    relaoaosoutrosinvestidores.Issocomeaaelevarospreosantesmesmosdos

    outrosinvestidoressaberemdanotcia.

    Alm de informaes como essas, existem outros tipos de

    acontecimentos que so imprevisveis. So exemplos as catstrofes naturais,

    guerras,etc,quepodemgerarfortesoscilaesiniciaispormquecomopassar

    dotempo,soabsorvidaspelomercado.

    2.1.3Astendnciasdemercado

    Astendnciassomovimentosnosgrficosondepredominouumadada

    14

  • direo,sendoessadealtaoubaixanospreos.Elaspodemserobservadasem

    diferentesespaosdetemposesoclassificadascomo:

    Primrias:Sotendnciasobservadasemanos,porexemplo,1

    ou2anos.

    Secundrias: Esto contidas nas tendncias primrias e so

    contadasemmesespodendosernotadasde2a5meses.

    Tercirias: Possuem tempo menor e esto contidas nas

    tendnciassecundriassendonotadasentresemanasedias.

    Noexisteumnmeroexatoparadefiniroperodocorrespondentes

    tendnciassendoanicaregraofatodastendnciasterciriasestaremcontidas

    nassecundriaeessascontidasnasprimrias.

    2.1.4Tendnciadivididaemtrsfases

    Considerando uma tendncia de alta, desde o incio at o fim do

    movimento,elapodeserdividaemtrsfases:

    1fase:levealtanospreosdecorrentedacompradeaespor

    investidores que provavelmente detm informaes

    privilegiadas;

    2fase:altamaisrpidarefletindoaentradasdosinvestidores

    experientes;

    3fase:perodoondeoinvestidorleigolevadopelaeuforiado

    mercadoecompraaes.caracterizadoporgrandesaltasdo

    preomasqueprovavelmenteseguidadereversodetendncia

    15

  • quepercebidapeloinvestidorexperientequevendesuasaes.

    Existem tambm3fases para a tendncia debaixaquenormalmente

    ocorredepoisdeumatendnciadealta.Soelas:

    1fase:iniciaquandooinvestidorexperientevendesuasaes;

    2 fase: a incerteza do mercado faz comque os investidores

    comecem a vender suas aes com receio de haver prejuzo

    maior;

    3fase:ondeosprejuzossoaltossendoseguidadereversode

    tendncias.Nofimdessafaseoinvestidorexperientecompraa

    aes.

    2.2GRFICOSDECANDLESTICKS

    OsgrficosdecandlestickssurgiramnoJapoduranteosculoXVIIIe

    atribuise sua criaoaonegociante dearroz, Munehisa Honmaqueganhou

    famarapidamentedevidoafacilidadedeobservaromovimentodospreosdas

    aes[2].

    OGrficoformadoporcandles,querepresentamospreosdeabertura,

    mximo,mnimoefechamentodeumdadopapelduranteodia[2].Ocandle

    formadoporumabarraindicandoospreosdeaberturaefechamento,podendo

    tertambmumalinhavertical,chamadadesombra,querepresentaospreosde

    mximoemnimo.Ocorpodo candle podeserformadoporduascores,uma

    determinadiadealtaeoutrabaixanospreos.Nafigura1,podeseobservar

    doiscandleseafigura3ilustraumexemplodegrficodecandlesticks.

    16

  • Figura1Candles.

    Figura2ExemplodegrficodeCandlesticks.Fonte:http://www.fxribafree.com/

    17

    DiadeAlta DiadeBaixa

    AberturaFechamento

    Mximo Mximo

    Fechamento

    MnimoMnimo

    Abertura

  • Comopassardotempo,osacionistascomearamanotarpadresnos

    grficos e comearam a uslos para tentar prever o comportamento das

    tendncias,sejaeladequedanospreos,altaouconfirmaodequeatendncia

    atualaindacontinuar. Comeouseentoatentarextrairinformaescontidas

    no grfico e interpretlas para tentar entender a dinmica e motivos que

    levavamquedaoualtadospreos.

    Assim, vrios relaes e explicaes foram retiradas a partir das

    observaeseestudos.Umadelasfoiadiferenaentreotamanhodoscandles,

    observadanafigura4:

    Figura3Candlesdediferentestamanhos.

    Segundo[1],Osmenorescandlessignificampoucanegociaoeexibem

    uma possvel estagnao do preo. Por outro lado, os candles maiores

    significavam alto nmero de negociaes em um nico dia, mostrando a

    instabilidadedopapelepossvelquedaoualtadopreo.

    Outraconclusode[1]foirealizadaquandoobservadoosgrficossem

    sombras (linhas verticais). Notouse que quando o valor de fechamento

    correspondia tambmao valor de mximo, significava que os compradores

    sobressaram, indicandoaltasdos preos. Afigura5exibedois candles sem

    sombra.

    18

  • Figura4Candlessemsombra.

    Vrios outros padres foramencontrados, inclusivepadres formados

    pormaisdeumcandleederamseaelesnomessugestivos,emsuamaioriade

    origemjaponesa[1].Algunspadrespodemserobservadosnasfiguras6e7.

    Hoje, os grficos de candlesticks ainda so muito utilizados e sua

    principalfinalidadedeprevertendnciasdospreos.

    Figura5Padresqueprevemtendnciadealta.Fonte:http://www.grafbolsa.com

    19

  • Figura6Padresqueprevemtendnciadebaixa.Fonte:http://www.grafbolsa.com

    2.3INDICADORESTCNICOS

    Almdeobservaraformaouaparnciadogrficoafimdeencontrar

    padres,diversospessoascriaramfrmulasmatemticasqueutilizavamdiversos

    valoresdeentradapara tambmtentar prevercomportamentos. Essesvalores

    geralmentesopreosdeabertura, fechamento, mximo,mnimo,volumede

    negociaes,etc.Valoresestes,observadosemumadadajaneladetempo,que

    serviamdeentradaparaumaequaomatemticaeresultavamemumindicador

    queprincipalmentetentaprevercomportamentodospreos[3].

    Essesindicadoresgeralmentevosendocalculadosnamesmafreqncia

    em que o grfico de preo atualizado, ou seja, tomando o grfico de

    candlestickdiriocomoexemplo,acadanovodiaumnovocandleadicionado

    aogrfico,damesmaforma,ondicerecalculado,agoraincluindoessenovo

    candle,obtendoassimovalordoindicadorparaaqueledadomomento.Assim,

    possvelplotarumgrficocomtodosessevalores,observarocomportamentodo

    20

  • indicadoreutilizlocomosuporteparatomadadedecises.Analisandoesse

    grfico possvel observar que alguns ndices oscilam em uma dada faixa

    numricaeporissosotambmchamadosdeosciladores[1].

    Otamanhodajaneladetempoutilizadaparaesteclculotemimportante

    influncia.Janelasdetemposmaiscurtassomaissensveiseprevemmais

    rapidamente um acontecimento, pormesto mais sujeitas a erros logo que

    percebemoscilaesacurtoprazo.Poroutrolado,janelasdetempomaislongas

    so menos sensveis e mais confiveis, porm, s vezes, so perdidas

    oportunidadesdecompraouvendadeumativodeixandodelucrar.

    2.3.1ndiceestocstico

    Dentre os indicadores, ser utilizado nesse trabalho o oscilador

    estocstico.Segundo[1],essendicemedeaforadoscompradoresemlevaro

    preodefechamentodeumpapelmaisprximodopreomximoalcanadono

    diaedaforadosvendedoresdelevaropreodefechamentomaisprximodo

    preomnimo.

    Existem algumas variaes para o clculo desse indicador. Neste

    trabalho,optousepeloclculodalinharpida.Essalinha,denotadapor %K ,

    medearelaoentreasforasdecompraevenda.Essalinhamaissensvele

    indicamaisrapidamenteumpossvelaumentodasforascompradorase,devido

    asuarapidez,podeseobterfalsosresultados.

    Afrmulamatemticaparaessalinha:

    %K=FechhojeMinnMaxnMinn

    100(1)

    21

  • OndeFechhojepreodofechamentodehoje,MinneMaxnsoospreos

    mximoemnimoalcanadosnajaneladetempoquegeralmentedecinco

    dias.

    Comomencionadoacima,aprincipalfinalidadedondiceestocstico

    definirseopapelestsobrevendidoousobrecomprado.Paraisso,soutilizadas

    margenssuperioreinferiorparadeterminarsituaesdecompraouvendadeum

    ativo.Quandoondiceestocsticoultrapassaramargemsuperior,significaqueo

    papelestsobrecomprado,indicandoumaboafaseparaavendadopapel,logo

    que uma reverso de tendncia para queda est prxima. O mesmo ocorre

    quandoondiceultrapassaamargeminferior.Quandoissoocorre,opapelesta

    sobrevendido,ouseja,amaiorforafoidosvendedores.Issoimplicaemum

    baixopreodopapeleumaboaoportunidadedecompra,logoqueumareverso

    detendnciadealtanospreosdeveocorrerembreve.

    Costumase utilizar 85%para definir a margemsuperior e 15%para

    definir a margem inferior [4]. ndices inferiores a 15% indicam reversode

    tendnciaparaalta, logodevesecompraropapel. ndicessuperioresa85%

    indicamreversodetendnciaparabaixaesugeremavendadopapel.Valoresde

    ndicesdentrodessafaixaindicamapermannciadopapel.

    Osvaloresparaessasmargenspodemseralteradassegundooperfildo

    investidor. Investidores mais ousados podem aumentar o intervalo de

    permannciaeutilizarvalorescomo10%paralimiteinferiore90%paralimite

    inferior.Issofazcomquepontosqueeramdereversoparamargensde15%e

    85%deixemdesereconseqentementeoinvestidorpermanecermaistempo

    comumpapel,dadoqueoindicadorirdemorarmaisparaapontarreversode

    tendncia.

    Aumentarafaixadepermannciapodetrazermaislucro.Tomandocomo

    22

  • exemploumasemanaondeshouvealtanospreos.Oestocsticocommargens

    de15%e85%poderiainformarnaquintafeiradessasemanaquetendnciade

    baixaestprevista,fazendocomqueoinvestidorvendaseupapelnaqueledia.

    Porm,seestetivessepermanecidocomopapeleleterialucradomais,logoque

    na sextafeira ainda houve valorizao. Portanto, se este investidor tivesse

    utilizadocomomargens10%e90%,eleterialucradomais.Issopodeparecer

    umaboaprtica,pormdeveseterprecauo,poisquandoseaumentaessafaixa

    depermanncia,diminuiseafaixasdesobrecompradoesobrevendido.Assim

    umasituaoinversapodeocorrer.Supondoagoraquenestasemanatodosos

    diasforammarcadosporbaixanospreos,oestocsticocommargensde15%e

    85%indicaria naquintafeira para vender o papel. O investidor que utilizou

    margensde10%e90%venderiaopapelnasextafeiraeteriaprejuzomaior.

    Assim, cada investidor deve ajustar esses limites segundo seu perfil de

    investimento,sejaeleprecavidoouousado.

    2.4REDESNEURAISARTIFICIAIS

    As Redes Neurais Artificiais (RNAs) so modelos computacionais

    inspiradosnasredesdeneurniosbiolgicosexistentesnocrebrohumano.So

    caracterizadasporprocessaremosdadosdeformaparaleladamesmaformaque

    ocrebrofazeutilizaoneurniocomounidadebsicadeprocessamentoque

    capazdeaprenderegeneralizar[5].

    Sua principal caracterstica, a generalizao, permite que depois de

    treinadoeaprendidoaresoluodeumproblema,sejapossvelseobteruma

    resposta boa para um problema semelhante ainda desconhecido. Outra

    caracterstica muito importante capacidade de aproximar qualquer funo

    23

  • matemticasejaelacontnuaouno,sendooaprendizadodaRNAnadamais

    queatentativadeencontraramelhorfunoqueseaproximaafunodesejada

    [5].

    Existem inmeras aplicaes para essa ferramenta que resolve

    principalmenteproblemasdeclassificao,reconhecimentodepadres,previso

    eextraodeinformaesdesconhecidas.

    Tomandocomoexemplo oproblemade previsode tempo, podemos

    facilmentecriarumaRNAqueprevseoprximodiairchoveroufazersol.

    Parasimplificaroproblema,seroutilizadasapenasvaloresdetemperaturae

    pressoparadefinirseodiachuvosoouensolarado(comcertezaoproblema

    noseresume estasduasentradas), podemosplotarumgrficocomdados

    histricosjclassificadoseobterumgrficodeduasdimensessemelhantea

    figura8.

    Figura7Grficodetemperaturaepressoparadiashistricos,contendoaretadeseparaodeclasses.

    Assim,possveltreinarumaRNAcomosdadoshistricos,edepoisde

    treinada, possvel apresentar um par de valores de temperatura e presso

    desconhecido,queaRNAirpreverseodiaserensolaradoouchuvoso.Esse

    24

  • umaaplicaosimplesedidticodeRNApodendoseraplicadasaproblemas

    comnmerosmaioresdevariveisdeentradaeclasses.

    2.4.1Oneurnioartificial

    Aestruturadoneurnioartificialcompostadetrspartesqueformamo

    neurniobiolgico.Soelas:dendritos, corpo(tambmchamadodesoma)e

    axnio[5].Osdendritosrecebemosestmuloseltricosdeoutrosneurniose

    solevadosaocorpoquesomaosestmulos,excitandoounooneurnio.Se

    este receber estmulosuficiente, o corpoir deixar comqueoestmuloseja

    transmitidopeloaxnioparaqueosoutrosneurniosligadosaelerecebamo

    pulsoeltrico.Assim,oneurniosemelhanteaumafunomatemticaque

    recebevaloresdepulsoeltricoedefineumasada.Afigura9mostraaestrutura

    doneurnioartificial,tambmchamadodeperceptron.

    Figura8Funcionamentodoneurnioartificial.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    Os dendritossoossinaisdeentrada,representadosporx1,x2, ...xm.

    Estessinaissomultiplicadosporseusrespectivospesos,representadosporwk1,

    25

  • wk2,...wkm.Ospesosdeterminamoquoinfluenteaentradanoprocessode

    excitaodoneurnio.Almdasvariveisdeentrada,existeumaentradafixa

    quedeterminaograude influncia das entradas, tambmchamadode bias.

    Depoisdemultiplicartodososvaloresdeentradaporseusrespectivospesos,o

    corpodoneurnio(junoaditiva)realizaasomaponderadadasvariveisde

    entrada(uk)eutilizaumafunodeativaoparadefinirovalordesadado

    neurnio(yk).

    As funes de ativao mais utilizadas so a tangente hiperblica,

    sigmoidalelimiar,conformeilustradopelasequaes2,3e4.

    f=tanh soma (2)

    f=1

    1exp soma(3)

    f=0 sesoma0 (4)

    Assim, o funcionamento do perceptron pode ser expresso atravs da

    seguinteexpressomatemtica:

    yk= f uk= f j=1

    m

    wkj x jbk (5)

    Ondeykasadadoneurnio, ukasomaponderada, fafunode

    ativao, monmerodeentradas, wovetordepesosdaentrada, xovetorde

    26

  • entradaebobias.

    Voltandoaoexemplodeclassificaodediasdesolechuva,podese

    observarnafigura8 quepossveltraarumaretadeseparaoentreasduas

    classes. Pares de temperatura e pressoquese encontramacimadareta de

    separaosodaclasse sol e pares inferiores a reta sodaclasse chuva. A

    frmulamatemticaparaessaretailustradapelaequao6.

    w1 x1w2w2b=0 (6)

    2.5TREINAMENTODOPERCEPTRON

    2.5.1Treinamento

    Otreinamentodoperceptronseresumetarefadetentarencontraros

    melhorespesosparasejapossveltraar melhorhiperplanodeseparaoentre

    classes.

    Essatarefapodesertrivialparaproblemaslinearmenteseparveis,como

    oexemplodeclassificaodediasdesolechuva(introduzidonaseo2.4),

    ondepossveltraarumaretaqueseparaasclasses.Porm,essatarefapodeser

    muitodifcil ouat mesmoimpossvelquandooproblemanolinearmente

    separvel,conformeilustradonafigura10.Supondoqueaoplotarosvaloresde

    temperaturaepressodosdadoshistricos,fosseobtidoogrficodafigura10.

    impossvelencontrarumaretadeseparao.

    27

  • Figura9Problemanolinearmenteseparvel.

    Pararealizarotreinamento necessrioquesetenhadadoshistricos

    previamente rotulados. Para o problema de classificao de dias, podese

    analisarosdiasdoanopassadoeclassificarcadadiacomosendochuvosoou

    ensolarado.Esseconjuntodedias,tambmchamadodeconjuntodetreinamento,

    soapresentadosaoneurnioqueirutilizlosparaajustarseusparmetros.

    O conjunto de treinamento tem papel fundamental no aprendizado.

    Assim, quanto maior o nmero de amostras analisadas, melhor ser a

    generalizaodomodelo.Outrocuidadocomdisposiodosdadosdentrodo

    espaode entradas possveis. Se utilizarmos apenas dias com temperatura e

    pressoaltascomoconjuntodetreinamento,operceptronprovavelmentenoir

    aprenderaclassificardiascomtemperaturabaixa.Paraqueoaprendizadoseja

    eficiente,devesetentarapresentaraoperceptrondiascomomaiornmerode

    combinaesdetemperaturaepressopossveis.

    Segundo[7],oalgoritmodetreinamentodoperceptronsempreencontra

    umbomhiperplano de separaopara problemas linearmente separveis em

    28

  • tempofinito.interessanteressaltarqueumbomhiperplanodeseparaono

    precisanecessariamentedividirexatamenteasclasses,sendoquepequenoserros

    declassificaopodemocorrer.

    2.5.2OAlgoritmo

    Oalgoritmodetreinamentodoperceptronsegueosseguintepassos[6]:

    1. Apresentartodososdadosdoconjuntodetreinamentoparao

    perceptron.Esseperodochamadodepoca;

    2. Paracadadadodapoca,ajustarospesosutilizandoaregra

    delta;

    3. Oconjuntodetreinamentoapresentadonovamenteatque

    setenhaalcanadoonmerodepocasdesejadasouatque

    oerrosejamenorouigualaoerrodetolerncia.

    Aregradelta umaexpressomatemticaqueatualizacadapesode

    entrada com base no erro atual da poca e a taxa de aprendizado, sendo

    calculadapelaseguinteequao:

    w n1=w ne x n(7)

    Onde: w(n+1)opesoatualizado;

    w(n),opesoatual;

    , ataxadeaprendizado,queindicaavelocidadecomqueovetordepesoseratualizado.

    29

  • e, o erro atual, que a diferena entre a sada atual do

    perceptroncomasadadesejada,conformeequao8;

    x(n),ovalordeentrada.

    e=yesperadoyobtido (8)

    A princpio, o vetor de pesos e o bias so iniciados com valores

    aleatrios e costumase utilizar valores entre 0,2 e 0,8 para a taxa de

    aprendizado.Noexisteumafrmulaparacalcularosmelhoresparmetrospara

    oalgoritmodetreinamento1. Utilizarvalormuitoaltodetaxadeaprendizado

    podefazercomqueopassosejatoalto,queoalgoritmonuncaencontraruma

    boasoluo.Assim,testesdevemserrealizadosparatentarencontraramelhor

    combinaoparatentardiminuirotempodeaprendizado.

    2.5.3Momento

    Umatcnicaqueaceleraotempodeaprendizadochamadademomento

    econsisteemadicionarumfatoraoclculodeatualizaodospesosdaregra

    delta[6].Fazendoumaanalogiaaosistemasmecnicos,omomentofunciona

    comoainrciaquefazcomqueumaesferaquedeslizesobreumasuperfcie

    inclinadaecontinueseucaminhoatqueoatritofaacomqueaesferapare.De

    formaanloga,ocircuitoondeaesferacaminhapodeserogrficodeerropara

    umperceptrondenicaentradaeaposiodaesfera,oerroquadrticodapoca

    atual.

    1 NoAnexoIencontraseaimplementaodoalgoritmodetreinamentoemformadescriptparaserexecutadonoAmbienteScilab.

    30

  • Figura10Tempodeaprendizadosemmomento(esquerda)ecommomento(direita).

    Nafigura11,podemosnotarqueoaprendizadocommomentotendea

    levarmenospocasparaencontraropontodemenorerro.

    Omomentotambmtilpararesolveroproblemadosmnimoslocais.

    Esse problema ocorre quando a funo de custo possui mnimos locais,

    tornandose armadilhas para o algoritmo de treinamento. Assim, tomando

    comoexemploafigura12aseguir,podeserquearegradeltaficarpresano

    mnimo local, onde o gradiente da funo de custo nulo. Pormse fosse

    utilizadomomento,aregradeltaalcanariaomnimoglobal.

    Figura11Aprendizadosemmomento(direita)ecommomento(esquerda).

    31

  • Ousodemomentoaconselhadoparadiminuirotempodetreinamento

    esolucionaroproblemadosmnimoslocaisecostumaseutilizarvaloresentre

    0,1 e 0,5. Altas taxas de momento podem fazer com que o algoritmo de

    treinamentopassepelomnimoglobal, prejudicandootreinamento,conforme

    mostradopelafigura13.

    Figura12Altataxademomentopodeprejudicartreinamento.

    2.6PERCEPTRONDEMLTIPLASCAMADAS

    2.6.1Histrico

    Em1969,MinskyePapertprovaramqueoperceptronsimples(deuma

    camada)scapazderesolverproblemaslinearmenteseparveis,logoques

    consegue traar hiperplanos. Afirmaram tambmque por mais que j fosse

    provadoqueotreinamentodeperceptronsimplesconverge,omesmonoocorre

    pararedesperceptrondemaisdeumacamada.Essetrabalhoteverepercusso

    negativaedesanimouospesquisadoresacontinuarnessarea.Contudo,alguns

    pesquisadores continuaram com seus trabalhos e mostraram mais tarde que

    32

  • MinskyePapertforampessimistas[5].

    Em 1974, Paul Werbos props o algoritmo backpropagation, porm

    somenteem1986oalgoritmoganhoureconhecimentoatravsdotrabalhode

    DavidE.Rumelhart,GeoffreyE.HintoneRonaldJ.Williams.Acriaodesse

    algoritmomarcouaretomadanosestudosemRNAs[5].

    2.6.2RedesdeNeurnios

    As Redes de neurnios so arquiteturas onde vrios neurnios esto

    conectadosentresi.Asligaesentreosneurniossochamadasdesinapses

    quetransferemasadadeumneurnioentradadoneurnioseguinte.Possuem

    asmesmasqualidadesdeumnerniosimples,pormsomaispoderosasemais

    eficientespodendoaproximarfunescomplexas[6].

    2.6.3Topologias

    Existemtrstiposprincipaisdearquitetura,sendoelas:

    Feedforwarddenicacamada;

    Feedforwarddemltiplascamadas;

    Redesrecorrentes.

    As redes Feedforward, socaracterizadas pelo seu funcionamento de

    alimentaoparafrente,ouseja,nenhumasadadeumneurniovoltaparasua

    entradaouparaaentradadeneurniosanteriores.Podempossuirumaoumais

    camadassendoaprimeirachamadadecamadadeentrada,asseguintessoas

    intermedirias(tambmchamadasdecamadasescondidas)eltimaacamadade

    33

  • sada.interessanteressaltarque,diferentedoperceptronsimples,aredepode

    terumvetordevaloresdesada,logoqueformadadevriosneurnios.

    Figura13NomenclaturaparaascamadasdasRedesdeNeurnios.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    Ofuncionamento simples. Inicialmente, soapresentadasosvalores

    para os neurnios da camada de entrada (neurnios sensoriais). Esses

    simplesmenterepassamainformaoparaosneurniosdacamadaescondida,

    queirodefatoprocessaraentrada.Assim,paracadacamadaescondida,os

    valoressoreprocessadoseenviadosparaprximacamada.Seestaforaltima

    camada, entoser realizadooltimoprocessamentoequeresultar emum

    vetordesadasdetamanhoigualaonmerodeneurniosdaltimacamada.

    Paraasredesfeedforwarddenicacamada,osdadossoprocessadossomente

    umavezresultamnovetorderespostas.

    34

  • Figura14Redefeedforwarddenicacamada.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    Figura15Redefeedforwarddemltiplascamadas.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    Asredesfeedforwarddemltiplascamadas,tambmconhecidascomo

    perceptrondemltiplascamadas(doinglsMultiLayerPerceptronMLP),so

    asmaisconhecidasemaisutilizadas.Podemterqualquernmerodecamadas

    escondidas. Entretanto, segundoCybenkon[8], umaredeMLPquecontenha

    umacamadaescondidapodeaproximarqualquerfunomatemticacontnuae

    sehouveremduascamadasescondidas,aredepodeaproximarqualquerfuno

    35

  • contnuaoudescontnua. Assim,nosonecessriasmaisqueduascamadas

    escondidaspararesolverumproblema.

    Redes recorrentes [5], ao contrrio das redes feedforward, utilizama

    sadadoneurniocomoentradadeneurniosdamesmacamadaoucamadas

    anteriores.Existemvriastopologiasparaessetipoderede,pormnoobjeto

    deestudodestetrabalho.

    Figura16Exemploderederecorrente.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    2.7TREINAMENTODEREDESPERCEPTRON

    2.7.1Introduo

    Otreinamentodeumaredeneuralconsisteemtreinartodososneurnio

    da mesmapara tentar aproximar a umadada funo, sendoconsideradosua

    principalfuncionalidade[6].Esseprocessocaracterizadoportentarencontrar

    36

  • osmelhorespesosparatodososneurniospodendoserfinalizadoquandoarede

    provumaboageneralizao.

    Existemvrios algoritmos de treinamento para vrios tipos de redes

    neuraisdiferenciandoapenasemcomoseroatualizadosospesos.Sendoassim,

    deformagenrica,oalgoritmodetreinamentonadamaisdoqueabuscapelos

    pesoscorretos.

    2.7.2TiposdeTreinamento

    Existemtrstiposprincipaisdetreinamento[6],sendoeles:

    supervisionado;

    nosupervisionado;

    comreforo.

    Noaprendizadosupervisionadoexisteopapeldoprofessor,queconhece

    asrespostas.Paraoproblemadeclassificaodediasdesolechuvapropostona

    introduo da seo 2.4, o professor conhece todos os pares de entrada

    (temperaturaepresso)esuasrespectivassadas.Eleresponsvelemguiaro

    aprendizado,corrigindoospesosseestesestiveremerrados.

    37

  • Figura17Aprendizadosupervisionado.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    Na figura 18, podese observar que o ambiente fornece os dados

    conhecidos (conjunto de treinamento). Cada amostra desse conjunto

    apresentadaaoprofessor,queconhecearesposta,eparaosistemaquedeseja

    aprender.Arespostadosistemadeaprendizadocomparadacomasadado

    professoresehouverdivergncia,lanadoumsinaldeerroparaosistemade

    aprendizadoqueatualizaseuspesos.Istoocorreatqueoerrosejaconsiderado

    tolervelouatatingirnmeromximodepocasdetreinamento[6].

    Esse tipode treinamento utilizado quandose temmuitos dados de

    treinamentoeseconheceseusvaloresdesada,porm,existemsituaesonde

    noseconheceessesvalores,logonohopapeldoprofessor.Paraessecaso

    utilizado o aprendizado no supervisionado. O funcionamento deste tipo de

    aprendizadorealizadoatravsdaapresentaodosdadosdoambienteeaRNA

    aprendeadisposiodosdados.

    Figura18Aprendizadonosupervisionado.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    38

  • O aprendizado no supervisionado [5] aplicado principalmente a

    problemasondesedesejaextrairinformaesestatstica,aindadesconhecidas,

    relacionadoaosdados,sendotilparaproblemasdeclassificao.

    Existe um terceiro tipo de aprendizado chamado de aprendizado por

    reforo que muitas vezes considerado na literatura como um subtipo do

    aprendizadosupervisionado.Nesteesquemanoexisteopapeldoprofessor,mas

    sim o papel de um crtico que valida a sada do sistema de aprendizado

    informandoseestboaouruim[5].

    Segundo[9], se a ao tomadapelosistemadeaprendizado for boa,

    entoosistematendeafortalecerestao,casocontrrio,osistematendea

    enfraquecer e buscar novas solues. Esse tipo de aprendizado utilizado

    principalmenteemsistemasondepermitidoquehajamerros.

    Figura19Aprendizadocomreforo.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    2.7.3Treinamentoparaperceptrondemltiplascamadas

    O funcionamento do algoritmo de treinamento de MLPs,

    Backpropagation, composto por duas etapas. A primeira, chamada de

    propagao(forward),caracterizadapelaapresentaodosdadosredeque

    processa os dados e emite uma sada. A segunda etapa, chamada de

    39

  • retropropagao (backward), realiza a comparao da sada obtida com a

    desejada[6]. Sehouvererro, ele retropropagadodacamadadesadaat a

    camadadeentrada,fazendocomquecadaneurnioatualizeseuspesos.Esse

    processorepetidoatqueoerrosejamenorouigualaovalordetolernciaou

    quandoonmerodepocasmximodesejadoforatingido.

    Figura20FasesdoalgoritmosBackpropagation.Fonte:SlidesdeauladadisciplinadeRNAUFLA,2009[6]

    Assim,oalgoritmoBackpropagation,podeserdescritoresumidamente

    atravsdopseudocdigocontidonafigura22.

    Inicializapesos(geralmentedeformarandmica)faa

    Paracadaamostra"a"doconjuntodetreinamentos=sada_da_rede(RNA,a);t=sada_do_professos(a);erro=ts;Calcula,atravsdaregradelta,ospesosdosneurniosdascamadasescondidas;Calcula,atravsdaregradelta,ospesosdosneurniosdacamadadeentrada;AtualizaospesosdaRNA;

    fimdapocaat quetodososexemplosestejamsendoclassificadoscorretamenteouatinjacritriodeparada;

    Figura21AlgoritmoBackpropagation

    40

  • OalgoritmoBackpropagationutilizaosmesmoparmetrosutilizadosno

    treinamento do perceptron simples. So eles: taxa de aprendizado, bias,

    momento,nmeromximodepocaseerrodetolerncia,sendoosdoisltimos

    utilizadoscomocritriodeparadadoalgoritmo.

    2.7.4Definiesdearquiteturaeparmetros

    Umadasprincipaisquestesquesurgemdurantea implementaode

    umaRNAcomrelaoaonmerodeneurniosnascamadasescondidas.Esse

    problema geralmente no ocorre para a camada de entrada pois sabemos o

    nmerodecaractersticasquecompemasamostrasdoconjuntodetreinamento.

    Omesmono ocorre para a camada de sada pois conhecemos o resultado

    esperado para o tipo de problema em questo. Assim, o problema est na

    definio da quantidade de neurnios que ir melhor aproximar a funo

    desejada.

    Onmerodeneurniosdascamadasescondidas definidodurantea

    construodarede,porm,noexisteumaformadesaberexatamentequantos

    neurniossonecessrios.Asoluoparaesseproblemaemprica,ouseja,

    testesdevemserfeitostreinandoredesdevriastopologiasecomparandosuas

    sadasafimdeobtermelhorgeneralizao.

    Omesmoproblemaocorreparaosparmetrosdetreinamento.Costuma

    seutilizarfaixasdevaloresparaataxadeaprendizadoeparaomomento.Porm

    no se sabe uma forma de obter os parmetros que treinarama RNAmais

    rapidamente. Da mesma forma, so necessrios testes com diferentes

    combinaesdeparmetrosafimdeminimizarotempodeaprendizado.

    41

  • 2.8TRABALHOSCORRELATOS

    UmdosprimeirostrabalhosfoideKimotoetal [11]queutilizouRNA

    paratentarpreverondicedabolsadevaloresdeTquio.Maistarde,Mizunoet

    al[12]utilizounovamenteRNAparatentarpreversinaisdecompraevendade

    umpapel.Phuaetal [13] utilizouRNAjuntamentecom algoritmoGentico1

    para tentar prever a tendncia do mercado. Lee [14] utilizou sistemas

    especialistasparatreinaromodeloareconhecerpadresdecandlesticks.

    OtrabalhodeLee[14]apresentouumgrandeproblemanomomentode

    treinamento. O aprendizado foi limitado ao especialista que determinou os

    padresdeCandlesticks,ouseja,nenhumnovopadronotado.

    1 Modelocomputacionalbaseadonocomportamentoevolutivobiolgico.

    42

  • 3.METODOLOGIA

    3.1INTRODUO

    Neste Captulosoapresentadosos mtodose as ferramentas usadospara o

    desenvolvimentodo sistemaproposto.Afigura22aseguir,correspondeaum

    fluxogramaquemostratodasasetapasdosistemaepermiteterumavisogeral

    dofuncionamentodomesmo.

    Figura22Fluxogramadefuncionamentodosistema

    Inicialmente,oparserrealizaoprocessamentodassrieshistricasde

    preos,utilizandoasconfiguraesdousurioparaclassificarcadajanelade

    ParserDados

    Histricos

    ConjuntodeTreinamento

    RNA

    Configuraesdousurio

    Compra Venda Permanncia

  • tempo como padres de compra, venda ou permanncia de uma papel. Ao

    mesmotempo,oparsergravaemumarquivotextocadajanelaanalisadaeseu

    respectivortulo.Essearquivoentousadocomoconjuntodetreinamentopara

    aRNA.Apsaetapadetreinamento,aRNApodegeneralizaroconhecimento

    obtido classificando novos padres que no faziam parte do conjunto de

    treinamento.

    3.2OPARSER

    3.2.1Processamento

    Como citado na introduo, o parser tem a funo de processar os

    arquivosdepreos,classificandoasjanelasdetempo.Paraisso,estabeleceuse

    quecadajaneladetempodeveriacontercincodias.Essaescolhafoifeitadevido

    aofato de queos padresconhecidos emgrficosde candlesticks possuem

    tamanhomximodecincodias.

    Ofuncionamentodoparserconsisteumextrairosvaloresdeabertura,

    mximo, mnimo e fechamento dos arquivos histricos obtidos no site da

    BOVESPA [17]. Este arquivo possui vrias informaes, e nesse trabalho

    somenteasinformaesnecessriasparamontaroscandlesforamextradas.

    O arquivos histricos disponibilizados gratuitamente pela BOVESPA

    possuemformatotxtecontmtodasastransaesocorridasaolongodeum

    ano. A interpretaodeste arquivo realizada segundo as determinaes da

    BOVESPAeasinformaesteisparaestetrabalhosoextradasdeacordocom

    atabela1.

    44

  • Tabela1Interpretaodoarquivodehistricodepreos

    Informao Seqnciade

    Caracteres

    Casasdecimais

    CdigodaAo

    12a23

    Abertura 56a66 67a68

    Mximo 69a79 80a81

    Mnimo 82a92 93a94

    Fechamento 108a118 119a120

    Cadalinhadoarquivodehistricodepreoscorrespondesinformaes

    relativasaumdadoativoduranteumdia.AcolunaSeqenciadeCaracteres,

    da tabela 1, informa o intervalo de caracteres da linha, que corresponde a

    informaodesejada.Se,estevalorreferenteumdadopreo,acolunaCasas

    decimais informa a seqncia de caracteres que correspondem as casas

    decimaisparacomporovalordopreo.

    Assim,cadalinhalidaeverificaseseoseucdigocorrespondeao

    desejadopelousurio.Casoissoocorra,esse candle entoarmazenadoem

    memria, segundo a ordem que foi lido. O perodo desejado para esse

    processamentoinformadopelousurio.

    3.2.2Rotulao

    Aps o processamento dos arquivos histricos e armazenamento em

    memriados candles desejados,realizadaaetapaderotulao. Essaetapa

    consiste em processar janelas de tempo de cinco dias a partir dos candles

    45

  • obtidos.

    Para cada janela de tempo, calculase o ndice estocstico utilizando

    como faixa de permanncia os valores entre 15% e 85%, ou seja, valores

    menoresque15%serorotuladoscomocompra,valoressuperioresa85%sero

    rotuladoscomovendaedentrodessafaixaserorotuladoscomopermannciade

    estadodopapel.

    3.2.3Armazenamento

    Aps a da fase de rotulamento, cada janela de tempo gravada em

    arquivotexto(formato.txt)seguindoaordemdedisposiodoscandles.So

    salvos todososquatrovaloresdecada candle. Cadapadrocontmportanto

    vintevalorespois,cada janelaformadaporcincodias.Almdo candle, o

    rtulotambmgravado.Aordememqueos candles eortulososalvos

    ilustradanafigura23.

    Figura23Representaodajaneladetemporotuladasalvaemarquivo.

    Ortulocompostoportrsvaloresesorepresentadosseguindoas

    possveissadasdaRNA2sendoilustradasnatabela2.

    2 AspossveissadasdaRNAserodetalhadasnaseo3.3.1

    46

  • Tabela2Rtuloparapossveisclassificaodejaneladetempo.

    Classificao Rtulo

    Compra 1;0;0

    Venda 0;1;0

    Permanncia 0;0;13.2.4Normalizao

    Antesderealizaroprocessodearmazenamentodospadresnoarquivo

    texto,feitaanormalizaodecadajaneladetempo.Issoconsisteemrealizar

    umaoperaomatemticasobreosdadosafimderepresentlosutilizando a

    mesmafaixadevalores.

    Optouse por realizar a diviso de todos os preos que compe os

    candles dajanelapelomaiorvalor.Issopossibilitoutransformarospreosem

    valoresreaisentre0e1.Anormalizaodospreosfoirealizadaparapadronizar

    osvaloresdeentradadaRNAfacilitandooaprendizadodamesma.

    3.2.5Funcionamento

    Oprocessodefuncionamentocompletodoparserpodeserdescritopelos

    seguintespassos:

    1Usurio informa perodo histrico para que o conjunto de

    treinamentosejagerado;

    2Usurio informa o conjunto de cdigos de papis que sero

    processados;

    3Oparser,ltodosarquivosdepreoearmazenaemmemriaos

    47

  • candlesrelevantes;

    4Rotulaajanela;

    4.1Obtmajaneladetempo;

    4.2Obtmmaiorvalordepreodajanela;

    4.3Normaliza

    4.4Calculaseondiceestocsticoparaajanela;

    4.5Classificasegundooestocstico;

    5Salvaemarquivoajanelanormalizadajuntamentecomseurtulo

    segundoaclassificaodatabela2;

    6Repete os passos 4 e 5 at que todas as janelas tenham sido

    rotuladas.

    7Oconjuntodetreinamentogerado.

    3.3REDEMLP

    3.3.1Topologia

    A topologia da rede perceptron de mltiplas camadas utilizada neste

    trabalhopossui vinte unidades deentrada, quecorrespondemaos valores de

    preoscontidonajaneladetempo,umacamadaescondidadeneurnioseuma

    camadadesada.

    Assinapses que ligamas camadassocompletas, ouseja, todosos

    neurnios deumacamadaestoligadoscomtodosos neurniosdaprxima

    camada.AestruturadaRNApodeserobservadanafigura24.

    48

  • Figura24EstruturadaRNAutilizada.

    AcamadadesadadaRNApossuitrsneurniosquecorrespondemaos

    possveis rtulos da janela de tempo. O primeiro neurnio (sada y1),

    responsvel por detectar padres de compra, o segundo (sada y2) detecta

    padresdevendaeoterceiro(saday3),sinalizapermannciadopapel.

    Onmerodeneurniosdacamadaescondidainformadopelousurio

    antesderealizarotreinamento.

    3.3.2Funodeativao

    Foi utilizada a funo de ativao sigmoidal para os neurnios das

    camadasescondidaedesada.Asadalineardosneurniosdacamadadesada

    portanto psprocessada por uma funo para que seja transformada em

    valoresbinrios. Essafuno3 transformaasadadoneurnioem1casoseu

    valorlinearsejamaiorouiguala0.5ouem0,casocontrrio.

    3 Funoquedeterminaosrtulosdeclassificaoparaatabela2

    49

    .

    .

    .

    x2

    x20

    x1

    x3

    Camadadeentrada

    Camadadesada

    y1

    y2

    y3

    Camadaescondida

  • 3.3.3Definiodeparmetros

    Comovistoanteriormente,algunsparmetrosdetreinamentodevemser

    definidos. Para amaioria deles, o usurio deve informar, antes de realizar o

    treinamento, as configuraes desejadas. So elas: taxa de aprendizado,

    momentoenmeromximodepocas.

    3.3.4Algoritmodetreinamento

    OalgoritmoutilizadoparaotreinamentodaRNAoBackpropagation

    sendoimplementandopelo framework JOONE4.Paracadalinhadoarquivodo

    conjuntodetreinamento,utilizaseosvinteprimeirosvalores(separadospor;)

    comoentradadaRNA.Asada comparadacomaclassificaocontidano

    arquivo(ostrsltimosvaloresdalinhaatual)e,emcasodeerro,atualizaseos

    pesossegundooalgoritmobackpropagation.

    Umapocade treinamento finalizadaquandooalgoritmoprocessa

    todosospadres.Ocritriodeparadaadotadofoionmeromximodepocas,

    quedeveserpassadopelousurio.

    3.3.5Validao

    Utilizando a mesma metodologia para a gerao do conjunto de

    treinamento, foi gerado um conjunto para realizar a validao da RNA. O

    procedimentodevalidaosegueosseguintespassos:

    1Criaseumconjuntodevalidao;

    2ApresentaseesseconjuntoumaRNAjtreinada;

    4 Serintroduzidonaseo3.3.2.

    50

  • 3Paracadavalordesseconjunto;

    3.1Compara sada da RNA com a contida no conjunto de

    validao;

    3.2Sesoiguais,incrementacontadordeacertos;

    3.3Casocontrrio,incrementacontadordeerros;

    4Calculaporcentagemdeacerto;

    3.4TECNOLOGIA

    3.4.1Implementao

    ParaaimplementaodoparseredaRNA,utilizousealinguagemde

    programaoJavacomoparadigmadeorientaoaobjetos.Aversodokitde

    desenvolvimentojavadaSunMycrosystems[18](emingls,SunJavaDeveloper

    KitSunJDK)a1.6.Utilizousetambmcomoambientededesenvolvimento

    integrado(emingls,IntegratedDevelopmentEnvironmentIDE)oNetbeans

    verso 6.5.1 [19]. Utilizouse tambmum framework de cdigo aberto para

    manipulaodeRNAs,oJOONE[20].

    3.4.2FrameworkJOONE

    Em ingls, Java Object Oriented Neural Engine JOONE, um

    frameworkparaconstruir, treinarevalidarRNAutilizandoatecnologiaJava.

    Escolheusesuautilizaopelafacilidadedeimplementao,porserrobusto,de

    cdigo aberto e principalmente por atender todas necessidades provenientes

    51

  • destetrabalho.

    Entresuasprincipaisfuncionalidades,podemoscitar:

    Aprendizadosupervisionado:

    RedesFeedForward;

    Redesrecursivas;

    AlgoritmoBackpropagationclssico;

    AlgoritmoBackpropagationcomvariaes;

    Aprendizadonosupervisionado;

    Possuiambientegrficoondesepodecriar,treinaretestarRNAsde

    formavisual;

    Umexemplo5 interessanteretiradodadocumentaodo framework o

    cdigoaseguirquecria,treinaevalidaumaRNAutilizandoapenastrslinhas

    decdigo:

    //CriaumaredeMLPcom3camadaspossuindodoisneurniosnas//camadasdeentradaeescondida,eumneurniodesadautilizando//funologsticacomoativaoNeuralNetnnet=JooneTools.create_standard(newint[]{2,2,1},

    JooneTools.LOGISTIC);//TreinaaRNApor5000pocasouatqueoerrosejamenorque//0.01.Bastaapenasinformarovetordeentradaeovetordesejado.doublermse=JooneTools.train(nnet,inputArray,desiredArray,5000,

    0.01,0,null,false);//RealizavalidaodaRNApassandoumvetordetestedouble[]output=JooneTools.interrogate(nnet,testArray);

    Figura25Criao,treinamentoevalidaodeumaRNAutilizandoframeworkJOONE

    5 NoanexoBencontraseoexemplodeimplementaoumaRNApararesolveroproblemadaportalgicaOUexclusivo,utilizandooJOONE.

    52

  • RESULTADOS

    4.1TradingSystem

    OTradingSystemdesenvolvidocontmoparserparaprocessamentodosdados

    histricosetodaapartequeenvolveRNA.Atelaprincipaldestesoftwarepode

    serobservadanafigura25.

    Ospassosparageraroconjuntodetreinamentoso:

    1.Configurar a pasta onde se encontram os arquivos de dados

    histricos.Paraisto,bastaclicarnoprimeiroboto...quese

    encontranacaixadegrupoCaminhosdeArquivo,aoladoda

    caixadeediodaconfiguraodeHistricodepreos;

    2.Usurio deve informar suas configuraes para o ano inicial e

    final,sendoestesoperodooqualserprocessadoosdados.

    3.Usurio tambmdeve informaros nomesdos papis desejados,

    separados por vrgula, na caixa de edio Nomes que se

    encontranogrupoPapel;

    4.ClicarnobotoGerarConjunto.

  • Figura26Telaprincipaldosoftwaredesenvolvido.

    54

  • OspassosparatreinarumaRNAso:

    1.Configurarapastaondesersalvooarquivodetreinamento.Para

    isto,bastaclicarnosegundoboto...queseencontranacaixa

    degrupoCaminhosdeArquivo,aoladodacaixadeedioda

    configuraodeConjuntodeTreinamento;

    2.Ousuriodeveinformartodososparmetroscontidosnogrupo

    Treinamento;

    3.ClicarnobotoTreinar;

    ParasevalidaraRNAtreinada,bastarealizarosseguintespassos:

    1.Gerarconjuntodevalidaoqualquer;

    2.Configurarcaminhodoarquivogeradoatravsdoboto...que

    seencontranogrupoCaminhosdeArquivos,aoladodacaixa

    deediodaconfiguraodeConjuntodeTeste;

    3.ClicarnobotoTestareobservarataxadeerro.

    4.2Testes

    Paragerar o conjuntode treinamento, foramutilizadosos papis que

    obtiverammaiorvolumedenegociaonoperodode2000at2006.Noforam

    utilizadas negociaes muitoantigas, pois ao longodotempo, algunspapis

    mudaramdenomeouforampoucorepresentativosdurantealgumperodo.Os

    ativosutilizadossoapresentadosnatabela3.

    55

  • Tabela3Aesprocessadas

    Ao Cdigo

    AMBEV AMBV4

    ARACRUZ ARCZ6

    CEMIG CMIG3

    ITAUBANCO ITAU4

    Utilizouse o conjunto de treinamento gerado para treinar diferentes

    RNAscomnmerosdiferentesdeneurniosnacamadaescondida.Almdisso,

    para a mesma topologia de RNA, foram realizados testes para diferentes

    parmetrosdetreinamento.Osresultadosobtidossoilustradosnatabela4.

    Tabela4ResultadosparadiferentestopologiasdeRNAediferentesparmetros

    Neurniosna

    camadaescondida

    TaxadeAprendiza

    doMomento pocasdeTreinamento

    ErrodeTreinamento

    Acurciaparaconjuntode

    teste

    1 0,2 0,1 100 43,05% 56,00%

    1 0,5 0,3 100 45,43% 56,00%

    1 0,8 0,5 100 43,72% 56,00%

    5 0,2 0,1 100 24,74% 97,00%

    5 0,5 0,3 100 24,71% 93,00%

    5 0,8 0,5 100 25,96% 93,00%

    10 0,2 0,1 100 23,22% 93,00%

    10 0,5 0,3 100 23,44% 97,00%

    10 0,8 0,5 100 25,18% 93,00%

    15 0,2 0,1 100 22,94% 94,00%

    15 0,5 0,3 100 23,29% 93,00%

    56

  • 15 0,8 0,5 100 24,03% 92,00%

    20 0,2 0,1 100 22,88% 92,00%

    20 0,5 0,3 100 22,71% 94,00%

    20 0,8 0,5 100 24,21% 94,00%

    Utilizouse o perodo de 2006 at 2007para se gerar o conjunto de

    validaoetestaracapacidadedegeneralizaodaRNA.

    57

  • 5.CONCLUSOETRABALHOSFUTUROS

    Observando os objetivos propostos no inicio do trabalho e os resultados

    alcanados, concluise que o trading system desenvolvido atendeu s

    espectativas,podendoserutilizadocomoferramentadeinvestimentoembolsas

    devalores.

    Osmelhoresresultadosforamobservadosquandoutilizousededeza

    vinteneurniosnacamadaescondidadaRNA,taxadeaprendizadoiguala0,2e

    0,1paraomomento.Estacombinaodeparmetromostrouseeficientemesmo

    paraotreinamentocompoucaspocas.

    Algunspontospositivosdestetradingsystemso:

    BonsresultadosparaRNAbemtreinadas;

    Anlise Tcnica realizada de forma automtica, sendo

    desnecessrio realizar clculos de ndices todos os dias,

    eliminandootrabalhorepetitivo;

    Ageneralizao permite que uma RNA, depois de treinada,

    apontereversesdetendnciasparaqualquerativo;

    O investidor no precisa conhecer como funciona a anlise

    tcnicaparaoperarosistema;

    Ospontosnegativos:

    Ousurio deve possuir algumconhecimento de RNAs. Seria

    interessanteseofuncionamentodosoftwarefossetransparente

    aousurio,ouseja,oprpriosoftwaredeterminasseosmelhores

    parmetrosdetreinamentodaRNA;

  • Muitostestesdevemserrealizadosparasedescobrirmelhores

    parmetros de treinamento. Assim, se perde muito tempo

    tentandoencontrlos,logoqueotreinamentoumprocessode

    altocustocomputacional.

    Muitas melhorias podemser adicionadas a este trabalhoa fimde se

    construirumtradingsystemcommaisrecursos.Asprincipaisso:

    Utilizaroutrosndicesdaanalisetcnica.Seriainteressanteseo

    investidor pudesse escolher o ndice que deseja escolher at

    mesmoparacompararqualdelesclassificamelhorospadresde

    reversoepermannciadeativo;

    Utilizar outros algoritmos de treinamento e previso, sendo

    possvel descobrir qual melhor tcnica de aprendizado de

    mquinaoutcnicadepreviso;

    Realizarperiodicamentedownloaddascotaesdepreosdirio

    einformaraoinvestidorquaisdecisesdevemsertomadas;

    As configuraes dos parmetros de treinamento da RNA

    poderiamsercamufladadetalformaqueumusurioleigoem

    RNApossaoperarosistema;

    Poderiamexistirconfiguraesquantoaoperfildosinvestidores,

    fazendocomqueo tradingsystem seja mais ousadooumais

    cuidadosoemsuasdecises;

    Desenvolverdiferentesinterfaces,permitindoqueosinvestidores

    acessemosistemaviainternetousistemasmveis;

    Proverinformaesemtemporealdeativosnabolsadevalores,

    ondeusuriopoderiaacompanharcomportamentodabolsasde

    59

  • valores.

    SeriainteressanteutilizarRNAparacatalogarnovospadresnos

    grficosdecandlesticks,contribuindocomaanlisetcnica.

    De forma geral, foi possvel concluir que RNA uma poderosa

    ferramenta para resoluo de problemas de previso onde esto disponveis

    dadoshistricos, sendopossvel obter bons resultados, se utilizadade forma

    correta.

    60

  • 6.REFERNCIASBIBLIOGRFICAS

    [1]NELOGICA,novembro2008.http://www.nelogica.com

    [2]C.A.Debastiani.Candlestick.Novatec,2007.

    [3]C.A.Debastiani. AnliseTcnicadeAesIdentificandoOportunidades decompraevenda.Novatec,2008.

    [4]CONEXODINHEIRO,fevereiro2009.http://www.conexaodinheiro.com

    [5]A.P.Braga,T.B.Lurdemir,andA.C.P.L.F.Carvalho. RedesNeuraisArtificiais:teoriaseaplicaes.LTC,2000.

    [6] Lacerda, W.S. NotasdeauladadisciplinadeRedesNeuraisArtificiais.2009

    [7]F.Rosenblatt.Theperceptron:Aprobabilistcmodelforinformationstorageandorganizationinthebrain.Psychol.Rev.,65:386408,1958.

    [8] G. Cybenkon. Approximation by superpositions of a sigmoid function.MathematicsofControl,SignalsandSystems,2:303314,1989

    [10]R. S. Sutton, A.G.BartoandR. J. Willians. Reinforcementlearningisdirectadaptiveoptimalcontrol.In. Proc.oftheAmericanControlConference,pp.21432146,1991.

    [11]Kimoto,T.,Asakawa,K.,Yoda,M.,andTakeoka,M.(1990),Stockmarketprediction system with modular neural network, in Proceedings of theInternationalJointConferenceonNeuralNetworks,16.

    [12]Mizuno,H.,Kosaka,M.,Yajima,H.andKomodaN.(1998),ApplicationofNeuralNetworktoTechnicalAnalysis ofStockMarketPrediction, StudiesinInformaticandControl,Vol.7,No.3,pp.111120.

    [13] Phua, P.K.H. Ming, D., Lin, W. (2000), Neural Network With GeneticAlgorithmsForStocksPrediction,FifthConferenceoftheAssociationofAsian

  • PacificOperationsResearchSocieties,5th7thJuly,Singapore.

    [14]ChiungHonLeonLee,WenSungChen,andAlanLiu.Animplementationofknowledgebasedpatternrecognitionforfinicialprediction.CyberneticsandIntelligentSystemsIEEEConference,1:218223,2004.

    [15]SimonHaykin.RedesNeurais:Princpioeprtica.Bookman,2001.

    [16]GRAFBOLSA,maio2009.http://www.grafbolsa.com/

    [17]BOVESPA,outubro2008.http://www.bovespa.com.br.

    [18]SUNMICROSYSTEMS,maio2009.http://www.sun.com/

    [19]NETBEANS,maio2009,http://www.netbeans.org/

    [20]JOONE,maio2009,www.jooneworld.com/

  • ANEXOA

    SCRIPTDOALGORTMODETREINAMENTODOPERCETRON

    A seguir, encontrase a implementao do algoritmo de treinamento do

    perceptronutilizandoalinguagemdoScilab.Afunotreina_perceptronrecebe

    ovetordepesosinicial(w),obiasinicial(b),osdadosdetreinamento(xin),as

    sadasesperadasparaaentrada(yin),onmeromximodepocas(maxepocas)

    eerrodetolerncia.Retornaovetordepesos,obiaseoerrodaltimapoca.

    Logoapsaimplementaodafuno,apresentaseaoperceptroncomo

    dadosdetreinamentoatabelaverdadedaportalgicaANDeutilizaafunode

    treinamentoparatreinarneurnioaclassificarparesdevaloresbinrios.

    function[w,b,erroepoca]=treina_perceptron(w,b,xin,yin,alfa,maxepocas,tol)//contadordepocast=1;//NumerodeentradasNsize=size(xin);//incializaerrocominfinitoE=9999;//enquantonopercorrertodasasepocaseoErrofoimaiorqueatolernciawhile((ttol))

    //paracadapadrodeentradafori=1:Nsize(2)

    //guardasaday(1,i)=yperceptron(xin(:,i),w,b);//guardaerrodasaida=desejadoencontradoerroepoca(1,i)=yin(1,i)y(1,i);//atualizavetordepesosw=w+(alfa*erroepoca(1,i)*xin(:,i)');

  • //atualizaobiasb=b+alfa*erroepoca(1,i);

    end;//elevaerrosaoquadradoparaficarempositivosesomaE=sum(erroepoca^2);//passapraprximapocat=t+1;

    end;endfunction

    //padresdeentradaxin=[0101;0011];//saidasesperadasyin=[0001];//taxadeaprendizadoalfa=1.2;//nmeromximodepocasmaxepocas=10;//tolernciaparaoerrotol=0.001;//iniciapesos(costumaseutilizarvaloresrandmicos)w=[1.20.8];//iniciabias(costumaseutilizarvalorrandmico)b=0.3;//chamafunodetreinamento[w,b,e]=treina_perceptron(w,b,xin,yin,alfa,maxepocas,tol)

    64

  • ANEXOB

    EXEMPLOJOONEPARAOPROBLEMADAPORTALGICAXOR

    AclasseaseguirrealizaotreinamentodeRNApararesolveroproblema

    da porta lgica XOR, utilizandoo framework de RNAJOONE. Primeira,

    necessriofazerodownloaddoenginenoJOONEnosite[20]doframeworke

    adicionaraoprojeto.Paraexecutaroprogramabastaalterarosdoisatributos,

    inputDataeoutputFile,comocaminhodosarquivosdoconjuntodetreinamento

    eerro,respectivamenteecompilar.

    /**XOR.java*SampleclasstodemostratetheuseoftheJoone'scoreengine*seetheDeveloperGuideformoredetails**VersoadaptadaaoportugusporLeonardoNascimentoFerreira*/

    /**JOONEJavaObjectOrientedNeuralEngine*http://joone.sourceforge.net*/

    importjava.io.File;importorg.joone.engine.*;importorg.joone.engine.learning.*;importorg.joone.io.*;importorg.joone.net.NeuralNet;

    publicclassXORimplementsNeuralNetListener{//pathdoarquivocontendooconjuntodetreinamentoprivatestaticStringinputData="/media/sda1/Instaladores/"+"FrameworkJava/JOONE/jooneengine2.0.0RC1/samples/engine/xor/xor.txt";//pathdoarquivodesaidacontendoevoluodoerrodetreinamentoprivatestaticStringoutputFile="/media/sda1/Instaladores/"+"FrameworkJava/JOONE/jooneengine2.0.0RC1/samples/engine/xor/error.txt";

  • /***Construtordaclasse*/publicXOR(){}/***Mtodoprincipal*@paramargsosargumentosdelinhadecomando*/publicstaticvoidmain(Stringargs[]){//criaobjetodotipoXORXORxor=newXOR();//criaRNApassandopathdoconjuntodetreinamentoepathdoarquivo//desada,queirconteraevoluodoerroxor.Go(inputData,outputFile);}

    /***MetodoquecriaetreinaRNA*@paraminputFile*@paramoutputFile*/publicvoidGo(StringinputFile,StringoutputFile){//Inicialmente,criatrscamadasLinearLayerinput=newLinearLayer();SigmoidLayerhidden=newSigmoidLayer();SigmoidLayeroutput=newSigmoidLayer();//danomescamadasinput.setLayerName("input");hidden.setLayerName("hidden");output.setLayerName("output");//configuraonmerodeneurniosquecadacamadairpossuirinput.setRows(2);hidden.setRows(3);output.setRows(1);//CriasinapsequeirligarcamadadeentradacomcamadaescondidaFullSynapsesynapse_IH=newFullSynapse();//CriasinapsequeirligarcamadaescondidacomcamadadesadaFullSynapsesynapse_HO=newFullSynapse();

    66

  • //danomessinapsessynapse_IH.setName("IH");synapse_HO.setName("HO");//conectaascamadasdeentradaeescondidainput.addOutputSynapse(synapse_IH);hidden.addInputSynapse(synapse_IH);//conectaacamadaescondidacomacamadadesadahidden.addOutputSynapse(synapse_HO);output.addInputSynapse(synapse_HO);//CriaobjetodeleituradearquivoFileInputSynapseinputStream=newFileInputSynapse();//asduasprimeirascolunasdoarquivoiroconterospadresinputStream.setAdvancedColumnSelector("1,2");//associaaopathdoarquivoinputStream.setInputFile(newFile(inputFile));input.addInputSynapse(inputStream);//criaobjetoquequerepresentaoprofessorTeachingSynapsetrainer=newTeachingSynapse();//CriaobjetodeleituradearquivoFileInputSynapsesamples=newFileInputSynapse();samples.setInputFile(newFile(inputFile));//asadadesejadadospadresestonacoluna3samples.setAdvancedColumnSelector("3");//informaoprofessorqueassadasdesejadasestonaterceiracolunatrainer.setDesired(samples);//CriaobjetoqueirconteroerroFileOutputSynapseerror=newFileOutputSynapse();error.setFileName(outputFile);//informaaoprofessorqualseroarquivodeerrotrainer.addResultSynapse(error);//conectaoprofessorcamadadesadadaRNAoutput.addOutputSynapse(trainer);//CriaRNANeuralNetnnet=newNeuralNet();//inserecamadadeentradannet.addLayer(input,NeuralNet.INPUT_LAYER);//inserecamadaescondidannet.addLayer(hidden,NeuralNet.HIDDEN_LAYER);//inserecamadadesadannet.addLayer(output,NeuralNet.OUTPUT_LAYER);//indicaRNAseuprofessornnet.setTeacher(trainer);

    67

  • //criamonitorqueirconfigurarparmetrosdeaprendizadoMonitormonitor=nnet.getMonitor();//configurataxadeaprendizadomonitor.setLearningRate(0.8);//configuramomentomonitor.setMomentum(0.3);//Aaplicaoregistraelamesmacomolistenerparareceber//notificaesdaRNAmonitor.addNeuralNetListener(this);//defineonmerodepadres(linhas)queseencontramnoconjuntode//treinamentomonitor.setTrainingPatterns(4);//defininmerodepocasmonitor.setTotCicles(2000);//sinalizaqueaRNAirsertreinadamonitor.setLearning(true);//iniciatreinamentonnet.go();}

    /***Mtodoexecutadoquandotreinamentofinalizado*@parame*/publicvoidnetStopped(NeuralNetEvente){//informaquearedefinalizoutreinamentoSystem.out.println("Treinamentofinalizado!");}

    /***Mtodoexecutadoquandoumapocatermina*@parame*/publicvoidcicleTerminated(NeuralNetEvente){

    }

    /***Mtodoexecutadoquandoiniciatreinamento*@parame*/publicvoidnetStarted(NeuralNetEvente){

    68

  • //informausuriosobreiniciodotreinamentoSystem.out.println("Iniciandotreinamento...");}

    /***Mtodoexecutadoquandooerrodetreinamentoalterado*@parame*/publicvoiderrorChanged(NeuralNetEvente){//obtmmonitordaRNAMonitormon=(Monitor)e.getSource();//acada200pocasif(mon.getCurrentCicle()%200==0)//informaaousurioonmerodepocasrestantesparaofimdo//treinamentoeerroSystem.out.println("Epocasparaofim:"+mon.getCurrentCicle()+"Errodetreinamento="+mon.getGlobalError());}

    /***@parame*@paramerror*/publicvoidnetStoppedError(NeuralNetEvente,Stringerror){

    }}

    Oarquivo do conjunto de treinamento possui extenso .txt e deve

    conteroseguintetexto:

    0;0;0

    1;0;1

    0;1;1

    1;1;0

    69