1,168 research outputs found

    La odisea de Europa en la globalización: un viaje hacia la Europa federal

    Get PDF
    El tema de la competitividad y de las exportaciones, ha estado muy de moda ultimamente y en Colombia son varias las actividades que se han realizado en torno a esta temática. Desde estudios como los contratados con la firma Monitor la creación del Consejo de competitividad.

    La odisea de Europa en la globalización: un viaje hacia la Europa federal

    Get PDF

    Influência do HPV na saúde oral e a perspetiva da Medicina Dentária: estado da arte

    Get PDF
    A prevalência de HPV no cancro da orofaringe está a aumentar, contudo, cancros HPV positivos tm bom prognóstico, respondem bem à terapêutica e normalmente aparecem em zonas como a base da língua, amígdalas e palato mole. É importante conhecer este vírus e quais as lesões benignas, pré-malignas e malignas que este pode induzir. Este vírus possui subtipos de alto ou de baixo risco e estão associados a lesões benignas ou malignas, sendo que o HPV 16 é o de maior perigo e as suas oncoproteínas uma das responsáveis pela transformação maligna das células do hospedeiro. Um maior conhecimento destas lesões e a sua distinção irá permitir um diagnóstico precoce, melhorando o prognóstico, assim como a educação para a saúde oral e promoção do auto exame devem ser prática corrente na consulta de medicina dentária. Das 60 referências pesquisadas, incluíndo livros, artigos e revistas, os critérios de inclusão utilizados na seleção dos artigos foram: publicações compreendidas entre o ano 2010 a 2017, artigos escritos em português e inglês e, de acordo com a pertinência e enquadramento da informação recolhida, foram efectivamente utilizados 42 referências nesta dissertação.The prevalence of HPV in oropharyngeal cancer is increasing, however, HPV positive cancer has a good prognosis, respond well to therapy, and usually appear in areas such as the base of the tongue, tonsils, and soft palate. It is important to know this virus and what benign, pre-malignant and malignant lesions it can induce. This virus has high or low risk subtypes and is associated with benign or malignant lesions, with HPV 16 being the most dangerous and its oncoproteins one off the responsible for malignant transformation of host cells. Further knowledge of these lesions and their distinction will allow an early diagnosis, improving prognosis, as well as oral health education and self-examination promotion should be current practice in the dental clinic. From the 60 references surveyed, including books, articles and journals, the inclusion criteria used in the selection of articles were: publications between 2010 and 2017 e articles written in Portuguese and English. According to consultation and classification of the information collected, 42 references were actually used in this dissertation

    Network coding data planes with programmable switches

    Get PDF
    Tese de mestrado, Engenharia Informática (Arquitectura, Sistemas e Redes de Computadores), Universidade de Lisboa, Faculdade de Ciências, 2017Atualmente, as redes de computadores seguem um paradigma tradicional de store-andforward, ou seja, os dispositivos de rede fazem armazenamento, encaminhamento e/ou replicação de pacotes recebidos, sem os modificar. No virar do milénio, surgiu um artigo seminal [24], no qual foi demonstrado teoricamente que a combinação da informação proveniente de diversos pacotes, permite aumentar a capacidade de uma rede relativamente à capacidade máxima, alcançada por simples encaminhamento. Este resultado representou o nascimento de uma área promissora de investigação, conhecida como Codificação na Rede (Network Coding). A ideia é permitir que os nós intermédios da rede, possam aplicar uma função de codificação sobre o conteúdo dos pacotes antes do seu encaminhamento, proporcionando assim um novo paradigma de store-code-forward. A família de técnicas tradicionais pode ser divida em duas categorias, com propósitos distintos. Codificação na Origem (Source Coding) com o objetivo de comprimir a informação enviada, e Codificação no Canal (Channel Coding) para compensar perdas e alteração de informação em canais ruidosos. Com codificação na rede, surge oportunidade para a definição de técnicas mais elaboradas e que visam outros propósitos. Deste modo, as técnicas de codificação tradicionais podem ser extendidas para além da codificação de pacotes em nós de origem, e da descodificação em nós de destino. De um ponto de vista geral, a codificação na rede tem potencial para melhorar a taxa de transferência de informação na rede; aumentar a resiliência contra perda de pacotes, interrupção de canais e nós da rede; e aumentar a segurança contra ataques maliciosos que visam a captura, interpretação e modificação de pacotes. Como técnica, a codificação na rede pode ser aplicada de dois modos distintos. Por um lado, sobre pacotes provenientes de um único fluxo de comunicação (intraflow network coding) e por outro, sobre múltiplos fluxos sem qualquer relação entre si (interflow network coding). A título de exemplo, se considerarmos dois fluxos que chegam a um switch por dois canais distintos, mas que contestam o mesmo canal de saída, temos um gargalo na rede. Usando codificação na rede, o switch pode aplicar, bit a bit, o Ou-Exclusivo (XOR) sobre dois pacotes (um de cada fluxo) e encaminhar o resultado. A taxa de transferência é melhorada, pois o switch necessita apenas de encaminhar um pacote codificado em vez de dois originais. É de salientar que, de forma a descodificar o pacote, o nó de destino tem de ter um dos pacotes originais usados na codificação. Portanto, as vantagens da codificação na rede estão dependentes da topologia da rede, da própria função de codificação utilizada, e do modo como é aplicada. Numa rede, um nó intermédio terá à partida acesso a vários pacotes. De forma a tirar máximo partido da técnica de codificação na rede, as funções de codificação utilizadas acabam por consistir num código linear (Linear Network Coding). A ideia é considerar todos os pacotes de uma mensagem a enviar (por exemplo, um ficheiro de texto, um vídeo, ou até um simples pedido HTTP) como um vetor de elementos de um dado campo finito. O tamanho de cada elemento, é dado pelo número de bits necessário para representar o maior valor desse campo. Se por exemplo o campo finito for 256, cada elemento terá 8 bits. A um vetor de elementos, damos o nome de símbolo. Associado a cada símbolo transmitido na rede, existe um vetor de coeficientes, necessário para codificação e descodificação. O tamanho do vetor, é ditado pelo número de símbolos originais. Se a mensagem é divida em 5 símbolos, então o vetor tem tamanho 5. Para codificar e criar um novo símbolo, o nó da rede começa por selecionar um novo vetor de coeficientes local. A função de codificação consiste numa combinação linear sobre um dado número de símbolos, utilizando o novo vetor local. O vetor do novo símbolo codificado é obtido da mesma forma. Sobre os vetores dos símbolos utilizados, é feita uma combinação linear utilizando o vetor local. Para descodificar os símbolos originais, são necessários um número igual de símbolos codificados, linearmente independentes. De forma a que os símbolos codificados e recodificados na rede, sejam linearmente independentes, podem ser utilizados algoritmos de tempo polinomial [59], para estabelecer os vetores locais utilizados por cada nó intermédio da rede. De forma a simplificar o problema, os vetores locais podem ser aleatórios (Random Linear Network Coding). Se o campo finito for suficientemente grande, a probabilidade de obter símbolos codificados linearmente independentes chega perto dos 100%. De forma a ter vetores mais reduzidos, tornando as operações mais simples, e permitindo uma descodificação gradual, os símbolos originais da mensagem podem ser organizados em gerações. Por cada geração, são gerados e injetados pela rede, símbolos codificados. Quando uma geração é descodificada, procede-se para a geração seguinte. Repare-se que a função de codificação referida anteriormente, com base em XOR, é o caso base e mais simples de um código linear. Neste caso, o campo finito é de tamanho 2. Apesar de ser um conceito relativamente simples, implementar e usar técnicas de codificação no plano de dados dos próprios dispositivos de rede é uma tarefa bastante complicada. Até mesmo quase impossível na maioria dos casos, visto que a payload dos pacotes é sujeita a alterações. O seu funcionamento baseia-se em protocolos fixos, que correm no próprio hardware de forma a maximizar o desempenho, o que torna difícil a tarefa de configurar e gerir uma rede para além das simples operações de encaminhamento de pacotes. Por este motivo, as implementações práticas de codificação na rede que têm vindo a surgir nos últimos anos, operam em redes overlay. Uma rede overlay reside logicamente na camada de aplicação, implicando que os dispositivos de rede propriamente ditos não são alterados. O interesse crescente em operações mais complexas e exigentes na rede, mas condicionado pelo funcionamento rígido e fechado dos routers e switches tradicionais, motivou uma mudança de paradigma: de redes configuráveis para redes programáveis. A primeira instância de uma rede programável é conhecida como Rede Definida por Software (SDN). Numa rede SDN, o plano de controlo é separado do plano de dados, e reside num dispositivo à parte - um controlador logicamente centralizado. Utilizando a informação de pacotes provenientes do plano de dados dos switches, o controlador pode definir políticas de configuração mais flexíveis e instalar regras nas tabelas match-action dos mesmos. A comunicação entre os switches e o controlador está estandardizada, sendo utilizado um protocolo conhecido como OpenFlow. A limitação de switches e controladores Open- Flow está no processamento de pacotes, que continua a ser fixo. De facto, o OpenFlow atua sobre um conjunto fixo de protocolos. Além disso, a sequência de tabelas e ações de um switch Openflow também é fixa. Portanto, o OpenFlow não permite realmente definir nova funcionalidade no plano de dados de um switch. Apenas fornece um meio para o controlador tomar decisões e instalar regras nas tabelas match-action, dos mesmos. No âmbito de codificação na rede, este fator impossibilita a alteração da payload dos pacotes, e consequentemente a sua combinação. No entanto, têm vindo a surgir recentemente switches programáveis, alguns até já em produção (por exemplo, Tofino da Barefoot Networks). Estes dispositivos permitem a programação e reprogramação do plano de dados, o que possibilita uma definição precisa e customizada do modo de processamento de pacotes. Com esta liberdade, a codificação na rede torna-se possível, no plano de dados. Porém, a sua programação é baseada em interfaces de baixo nível, tornando-se um processo demorado e doloroso. Esta dificuldade, acrescida também às limitações descritas do OpenFlow, motivou a criação da linguagem de alto nível, P4. A linguagem P4 permite definir cabeçalhos, parsers e a sequência de tabelas de matchaction, para qualquer dispositivo de rede compatível. As ações podem ser definidas utilizando um conjunto de primitivas básicas oferecidas pela linguagem. A linguagem P4 oferece três vantagens. Primeiro, não está dependente de protocolos e formatos de pacotes específicos, uma vez que a sua definição pode ser feita pelo programador. Segundo, permite a reconfiguração do switch a qualquer momento. Terceiro, não depende do hardware subjacente, podendo ser escrita, da mesma forma, para qualquer dispositivo que tenha o compilador adequado. O objetivo desta dissertação consiste no desenho, implementação e avaliação do primeiro switch capaz de realizar codificação no plano de dados, recorrendo à linguagem P4. Mais concretamente, a nossa solução consiste em dois switches: um que executa XOR (P4- XOR Switch), e outro que executa uma variante de Random Linear Network Coding (P4-RLNC Switch). Durante a implementação enfrentámos vários desafios, devido às peculiaridades da linguagem. Entre os principais fatores que dificultaram a implementação, está o facto de a linguagem ser declarativa, não permitindo a criação de estruturas de dados auxiliares em tempo de execução; e a impossibilidade de criar ciclos, essencial para repetir o mesmo processo de codificação sobre os vários elementos dos símbolos, no caso do P4-RLNC Switch. Sendo um trabalho inovador, a avaliação focou-se essencialmente na funcionalidade dos dois switches concretizados. Adicionalmente, a performance do P4-XOR Switch também foi avaliada.Network Coding (NC) is a technique that can be used to improve a network’s throughput. In addition, it has significant potential to improve the security, manageability, resilience (to packet losses, link failures and node departures) and the support of quality of service, in both wired and wireless network environments. The idea is to allow intermediate nodes of the network (i.e. switches and/or routers) to mix the contents of incoming data packets before forwarding them. Something that, traditionally carried out at source nodes, is therefore extended to the network, creating an array of new options. The difficulty of deploying NC on traditional switches lies in the impossibility to change or extend their operation with the requirements of this new paradigm. The devices are closed, the software and underlying hardware are vendor specific, and follow a fixed set of protocols and processing pipeline. This rigidity precludes NC in today’s switches and routers. Fortunately, programmable switches are beginning to emerge, with some already achieving production-levels and reaching the market (e.g., Barefoot Tofino). A new high-level language to program these switches has recently been proposed: P4. The P4 language allows the precise definition of how packets are processed in these programmable switches. Namely, it enables the definition of headers, parsers, match-action tables, and the processing pipeline itself. Therefore, by taking advantage of these constructs, P4 enables the deployment of NC, on the switch’s data plane, for the first time. In this dissertation, we design and implement two NC switches using the P4 language. Both switches employ Linear Network Coding (LNC). The main difference is that the first (P4-XOR Switch), simply performs the XOR of packets (i.e., a linear code with field size 2). The second (P4-RLNC Switch) is more generic, allowing larger field sizes. For this purpose it performs Random Linear Network Coding (RLNC), which is a random variant of LNC. The evaluation was performed on Mininet (a network emulator) and focused on the functionality of both switches. Additionally, the performance of the P4-XOR Switch was tested as well. The main conclusion is that our implementations correctly perform the required operations allowing, for the first time, NC to be performed in real data planes

    Estimate European vanilla option prices using artificial neural networks

    Get PDF
    Tese de Mestrado, Matemática financeira, 2022, Universidade de Lisboa, Faculdade de CiênciasA literatura de avaliação de opções é vasta e complexa. De grosso modo pode distinguir-se duas abordagens para a avaliação de opções: analíticas, como o modelo Black-Scholes-Merton (BSM) ou o modelo Heston, e numéricas, como simulações Monte-Carlo ou, mais recente mente, aprendizagem automática (machine learning). Esta tese é sobre a avaliação de de opções, de compra e de venda, Europeias baunilha sobre o índice S&P 500 usando aprendiza gem automática. Mais especificamente a tese usa redes neuronais artificiais (artificial neural networks) (ANNs) de diferentes arquiteturas para estimar preços de opções. O uso de redes neuronais artificiais é preferido em relação a outras técnicas de aprendizagem automática pois estas são boas a lidar com grandes bases de dados com relações não lineares entre as variáveis. Resumindo brevemente a revisão bibliográfica: • O uso de aprendizagem automática para efeito de avaliação de opções teve início em 1993 com o trabalho de Malliaris and Salchenberger [27]; • Um problema comum neste tipo e abordagem é o facto de ser difícil escolher os chamados hyper-parâmetros. Estes parâmetros não devem ser confundidos com os inputs das redes; • Exemplos de hyper-parâmetros são: o número de camadas escondidas (hidden lay ers), o número de neurónios (neurons) nessas camadas, o "batch size", o número de épocas/ciclos, a taxa de aprendizagem (learning rate), etc; • Verifica-se que muitos autores usam inputs semelhantes aos do modelo BSM para as suas redes; • O artigo Andrey Itkin (2019) [22] parece ter sido um dos primeiros a tentar criar uma rede que gerasse preços livres de oportunidades de arbitragem; • O artigo [33] apresenta uma extensa revisão bibliográfica onde explicam que o uso de redes neuronais artificiais não se limita a estimar preços mas também, por exemplo, volatilidades implícitas (implied volatilities) e são úteis para questões de cobertura do risco (hedging); • No que diz respeito a literatura portuguesa, não parece existir nada relacionado com estimar preços de opções Europeias com recurso a redes neuronais artificiais. Nesta tese tenta-se replicar o trabalho feito em Ke and Yang (2019) [25]. Isto significa construir 3 tipos de redes neuronais artificiais: duas perceptron multicamada (multi-layer perceptron) e uma rede de memória longa de curto prazo (long short-term memory); usar essas redes para prever preços de opções Europeias baunilha; calcular métricas baseadas na disparidade entre preços previstos e de mercado, com o objetivo de verificar quão próximos estão os primeiros dos segundos; e finalmente comparar essas métricas com o modelo BSM. Deve ficar bem claro que as redes mencionadas não têm qualquer condição que implique preços livres de oportunidades de arbitragem. Esta situação contrasta com a de modelos analíticos como o BSM em que existem pressupostos subjacentes que forçam os preços estimados a estarem livres dessas oportunidades. Por isso, mesmo que as redes neuronais artificiais apre sentem melhores métricas, é preciso mais trabalho na área. Preços que permitem arbitragem não são úteis. Nesta tese tomaram-se escolhas um pouco diferentes das observadas na literatura: • Usa-se uma base de dados de aproximadamente 13,5 milhões de observações de opções o que contrasta com as milhares da maior parte dos trabalhos na área; • Não se usa a chamada "homogeneity hint"; • Só se excluem da análise opções que já expiraram e que portanto não precisam de ser avaliadas. Os dados usados nesta tese são os seguintes: • Preços diários do ativo subjacente, o S&P 500; • Taxa nominal diária de obrigações americanas de 3 meses, para servir de "risk-free rate"; • Preços diários de opções SPX e SPXW. Neste artigo usaram-se 4 modelos (que na verdade são 8 pois tem que haver um modelo para opções de compra e outro para opções de venda). Os 4 modelos são: • Modelo BSM para servir de referência nas comparações nos modelos de redes neuronais artificiais; • Modelo MLP1 que toma como inputs os mesmos do BSM e produz um preço de equi líbrio para uma opção. Este preço, ao contrário de um produzido pelo BSM não é necessariamente livre de oportunidades de arbitragem visto que nenhuma restrição é imposta para esse efeito; • Modelo MLP2 que difere do MLP1 pois produz dois preços para cada opção, o preço de compra (bid) e o preço de venda (ask). Para efeitos de avaliação do modelo usei a média entre esses 2 preços; • Modelo LSTM que usa os últimos 20 preços do ativo subjacente para calcular uma volatilidade. O objetivo é testar se a volatilidade no momento t depende da volatilidade nos tempos t − 1, t − 2, . . . , e t − 20. Essa volatilidade é depois usada como input num modelo MLP1, juntamente com os outros inputs, para produzir um preço de equilíbrio de uma opção. De seguida vou apresentar uma breve explicação teórica de cada tipo de rede. Mas primeiro, de um modo geral é importante referir que as redes neuronais artificiais são constituídas por camadas (input, "hidden" e output) que por sua vez são formadas por neurónios. Um modelo MLP é uma ANN que segue 3 passos: inicialização (Init), "feed-forward" (FF) e "back-propagation" (BP). Init é a geração de valores iniciais para os pesos e "biases" da rede. FF significa que a ANN vai dos inputs aos outputs, passando de camada a camada num só sentido. O processo de BP calcula a função de custo (loss function) e vai atualizando os valores dos pesos e "biases" até se chegar a um valor mínimo da função de custo. Um modelo LSTM é mais complexo pois é um exemplo de uma rede neuronal recorrente (RNN). Este tipo de redes serve para detetar padrões ao longo do tempo. Ou seja, pode ser usado para prever a próxima palavra numa frase ou, no caso desta tese, para prever o "próximo" preço de uma opção dada informação passada e não só presente. Curiosamente os modelos de avaliação de opções mais conhecidos assumem que o preço de uma opção não depende de variáveis do passado. Contudo, há literatura que mostra a existência de dependência da volatilidade presente em relação à volatilidade passada. Os modelos LSTM foram pensados para resolver um problema chamado "vanishing gradient problem" e têm mostrado, ao longo do tempo, que o conseguem efetivamente fazer. Também são eficazes a resolver o problema denominado por "exploding gradients problem". Para avaliar os resultados empíricos usei várias métricas como por exemplo a média do quadrado dos erros (mean-square error) ou a mediana do erro percentual (bias). O modelo MLP1 é o único que supera o BSM em todas as métricas. Contudo é importante lembrar que, os modelos de aprendizagem automática desta tese não impõe qualquer tipo de restrição ao nível de oportunidades de arbitragem e por isso não se pode automaticamente concluir que o modelo MLP1 é superior ao BSM. Comparando os meus resultados com os de [25], não os consegui replicar na sua grande maioria. Por exemplo os MSEs do MLP1 são substancialmente superiores. No que diz respeito ao modelo MLP2, este é inferior ao BSM em quase todas as métricas, contrariando o que foi reportado em [25]. Em relação ao LSTM os números deles são ligeiramente superiores aos meus. Todas estas diferenças podem ter que ver com as bases de dados usadas, mas suspeito que a diferença está no código. Apesar dos autores terem publicado o seu código online em formato de livre acesso, foram precisos muitos ajustes do meu lado para conseguir gerar resultados. Ao nível de convergência e ajuste (fit) pode dizer-se que: O MLP1 não apresenta "over fitting", o MLP2 não apresenta "overfitting" mas no que diz respeito às opções de venda os erros de treino e erros de validação não convergiram, o LSTM apresenta overfitting e não converge. Para este talvez a resposta seria usar "early stopping".In this thesis I attempt to replicate three machine learning (ML) option pricing models thought of in Ke and Yang (2019) [25] and compare them to the Black-Scholes-Merton (BSM) model. Two of them are multi-layer perceptron (MLP) with the same inputs as the BSM. The third is a long short-term memory (LSTM) model, which takes the underlying prices for the past 20 days as an input instead of some pre-calculated volatility. Although my results aren’t as good as theirs in terms of error metrics, the models still beat the BSM. However a caveat must be made that the prices generated by these models are not necessarily arbitrage-free as no condition is set in order for that to happen. Future work should focus on that but also on perfecting the models to increase their accuracy, estimate implied volatility (IV) [46] and the greeks

    What if simulation for a Brazilian company regarding marketing budget

    Get PDF
    The article research is a case study regarding how to design the marketing budget for a small Brazilian company that started the activity one year ago. Taking into account the data that we gather, we decided to use What-if simulation. The case study is a simplified model representation of a company, adjusted according to the data that is released as target for the following year. In practice, the formulation of a scenario allows the construction of a hypothetical world that the analyst can see and navigate.
    corecore