Saturday 5 May 2018

Opções de ações no excel


Opções de ações no excel
Nota: Em maio de 2017, a API "tables" e "ichart" do Yahoo para baixar dados históricos de estoque foi descontinuada pela equipe do Yahoo Finance. A ilustração a seguir ilustra o novo método de usar a API "query1" para fazer o download de dados históricos de estoque. Um "cookie" e um "migalha" são necessários para chamar essa nova API com sucesso. Os códigos de programação VBA para extrair esses dois componentes são mostrados abaixo.
Vá para Ferramentas-> Macro-> Macros…, selecione a macro Download e clique em executar.
Vá para Desenvolvedor-> Macros, selecione a macro Download e clique em executar.
Basicamente diz que estaremos baixando dados do DownloadURL:

Planilhas do Excel para opções binárias.
Este artigo apresenta opções binárias e fornece várias planilhas de precificação.
As opções binárias dão ao proprietário um pagamento fixo (que não varia com o preço do instrumento subjacente) ou nada. A maioria das opções binárias são de estilo europeu; estes são precificados com equações de forma fechada derivadas de uma análise de Black-Scholes, com o payoff determinado no vencimento.
Cash or Nothing & amp; Opções de ativo ou nada.
As opções binárias podem ser Cash or Nothing ou Asset or Nothing.
Uma opção em dinheiro ou nada tem um pagamento fixo se o preço da ação estiver acima do preço de exercício no vencimento. Um dinheiro ou nada colocado tem um pagamento fixo se o preço das ações estiver abaixo do preço de exercício. Se o ativo é negociado acima da greve no vencimento, o pagamento de um ativo ou nada é igual ao preço do ativo. Inversamente, um ativo ou nada tem um pagamento igual ao preço do ativo se o ativo for negociado abaixo do preço de exercício.
Opções de dinheiro-ou-nada de dois ativos.
Essas opções binárias são precificadas em dois ativos. Eles têm quatro variantes, com base na relação entre os preços spot e os preços de exercício.
up e up: pagam somente se o preço de exercício de ambos os ativos estiver abaixo ou abaixo do preço à vista de ambos os ativos: eles só pagam se o preço à vista de um ativo estiver acima de seu preço de exercício e o preço à vista do outro ativo está abaixo de seu preço de exercício em dinheiro ou nada: pagam uma quantia predeterminada do preço à vista de ambos os ativos acima do preço de exercício ou nada: pagam uma quantia predeterminada se o preço à vista dos dois ativos estiver abaixo do preço de exercício.
Supershares.
As opções de Supershare são baseadas em uma carteira de ativos com ações emitidas em relação ao seu valor. Supershares pagam uma quantia predeterminada se o ativo subjacente for precificado entre um valor superior e um valor inferior no vencimento. A quantia é geralmente uma proporção fixa da carteira.
Supershares foram introduzidos por Hakansson (1976), e são cotados com as seguintes equações.
Opções de intervalo.
Uma opção Gap tem um preço de gatilho que determina se a opção será paga. O preço de exercício, no entanto, determina o tamanho do pagamento.
O pagamento de uma opção de intervalo é determinado pela diferença entre o preço do ativo e um intervalo, desde que o preço do ativo esteja acima ou abaixo do preço de exercício. O preço e o pagamento de uma opção européia do tipo Gap são dados por essas equações.
onde X 2 é o preço de exercício e X 1 é o preço de disparo.
Considere uma opção de compra com um preço de exercício de 30 e uma redução de 40. A opção pode ser exercida quando o preço do ativo estiver acima de 30, mas não paga nada até que o preço do ativo esteja acima de 40.

Introdução às Opções de Ações de Incentivo.
Um dos principais benefícios que muitos empregadores oferecem aos seus funcionários é a capacidade de comprar ações da empresa com algum tipo de vantagem fiscal ou desconto embutido. Existem vários tipos de planos de compra de ações que contêm esses recursos, como planos de opções de ações não qualificados. Esses planos geralmente são oferecidos a todos os funcionários de uma empresa, desde os altos executivos até os funcionários responsáveis ​​pela custódia.
No entanto, existe outro tipo de opção de compra de ações, conhecida como opção de ações de incentivo, que geralmente é oferecida apenas aos principais funcionários e à administração de primeira linha. Essas opções também são comumente conhecidas como opções estatutárias ou qualificadas, e podem receber tratamento fiscal preferencial em muitos casos.
Principais características das ISOs.
As opções de ações de incentivo são semelhantes às opções não estatutárias em termos de forma e estrutura.
Cronograma: Os ISOs são emitidos em uma data inicial, conhecida como data de concessão, e o empregado exerce seu direito de comprar as opções na data de exercício. Assim que as opções forem exercidas, o funcionário tem a liberdade de vender as ações imediatamente ou esperar por um período de tempo antes de fazê-lo. Ao contrário das opções não estatutárias, o período de oferta de opções de ações de incentivo é sempre de 10 anos, após o qual as opções expiram.
Vesting: ISOs geralmente contêm uma programação de vesting que deve ser satisfeita antes que o empregado possa exercer as opções. O cronograma padrão de três anos em penhascos é usado em alguns casos, em que o funcionário fica totalmente investido em todas as opções emitidas para ele nesse momento. Outros empregadores usam o cronograma de aquisição gradual que permite que os funcionários sejam investidos em um quinto das opções concedidas a cada ano, a partir do segundo ano da outorga. O empregado é então totalmente investido em todas as opções no sexto ano da concessão.
Método do Exercício: As opções de ações de incentivo também se assemelham a opções não estatutárias, pois podem ser exercidas de várias maneiras diferentes. O empregado pode pagar adiantado em dinheiro para exercê-los, ou eles podem ser exercidos em uma transação sem dinheiro ou usando uma troca de ações.
Elemento de barganha: ISOs geralmente podem ser exercidos a um preço abaixo do preço de mercado atual e, assim, fornecer um lucro imediato para o funcionário.
Clawback Provisions: São condições que permitem ao empregador relembrar as opções, como se o empregado abandona a empresa por outra razão que não seja morte, invalidez ou aposentadoria, ou se a própria empresa se torna financeiramente incapaz de cumprir suas obrigações com as opções.
Discriminação: Considerando que a maioria dos outros tipos de planos de compra de ações de funcionários deve ser oferecida a todos os funcionários de uma empresa que atendem a determinados requisitos mínimos, os ISOs geralmente são oferecidos apenas a executivos e / ou funcionários-chave de uma empresa. As ISOs podem ser comparadas informalmente a planos de aposentadoria não qualificados, que também são tipicamente voltados para aqueles no topo da estrutura corporativa, em oposição a planos qualificados, que devem ser oferecidos a todos os funcionários.
Tributação de ISOs.
As ISOs são elegíveis para receber tratamento tributário mais favorável do que qualquer outro tipo de plano de compra de ações de funcionários. Esse tratamento é o que diferencia essas opções da maioria das outras formas de remuneração baseada em ações. No entanto, o empregado deve cumprir certas obrigações para receber o benefício fiscal. Existem dois tipos de disposições para ISOs:
Disposição de Qualificação: Uma venda de ações da ISO feitas pelo menos dois anos após a data da concessão e um ano após as opções terem sido exercidas. Ambas as condições devem ser atendidas para que a venda de ações seja classificada dessa maneira. Disqualifying Disposition: Uma venda de ações ISO que não atende aos requisitos de período de retenção prescritos.
Assim como com as opções não estatutárias, não há consequências tributárias em qualquer concessão ou aquisição. No entanto, as regras fiscais para o seu exercício diferem acentuadamente das opções não estatutárias. Um empregado que exerce uma opção não estatutária deve relatar o elemento de barganha da transação como receita recebida que está sujeita a imposto retido na fonte. Os titulares do ISO não reportarão nada neste momento; Nenhum relatório de imposto é feito até que a ação seja vendida. Se a venda de ações for uma transação qualificada, o funcionário só relatará um ganho de capital a curto ou longo prazo na venda. Se a venda for uma disposição desqualificante, o funcionário terá que informar qualquer elemento de barganha do exercício como receita auferida.
Digamos que Steve receba 1.000 opções de ações não estatutárias e 2.000 opções de ações de incentivo de sua empresa. O preço de exercício para ambos é de $ 25. Ele exerce todos os dois tipos de opções cerca de 13 meses depois, quando as ações estão sendo negociadas a US $ 40 por ação e depois vende 1.000 ações de suas opções de incentivo seis meses depois, por US $ 45 por ação. Oito meses depois, ele vende o restante das ações a US $ 55 por ação.
A primeira venda de ações de incentivo é uma disposição desqualificante, o que significa que Steve terá que reportar o elemento de barganha de US $ 15.000 (US $ 40 no preço da ação - US $ 25 = US $ 15 x 1.000) como receita auferida. Ele terá que fazer o mesmo com o elemento de barganha de seu exercício não estatutário, de modo que terá US $ 30.000 de renda adicional W-2 para informar no ano de exercício. Mas ele só reportará um ganho de capital de longo prazo de US $ 30.000 (preço de venda de US $ 55 - preço de exercício de US $ 25 x lote de mil ações) para sua disposição de qualificação ISO.
Deve-se notar que os empregadores não são obrigados a reter qualquer imposto de exercícios ISO, então aqueles que pretendem fazer uma disposição desqualificante devem tomar cuidado para reservar fundos para pagar impostos federais, estaduais e locais, bem como a Segurança Social, Medicare. e FUTA.
Relatórios e AMT.
Embora as disposições da ISO qualificadas possam ser relatadas como ganhos de capital de longo prazo no formulário 1040 do IRS, o elemento de barganha no exercício também é um item de preferência para o imposto mínimo alternativo. Esse imposto é cobrado a quem preenche grandes quantias de certos tipos de receita, como elementos de barganha ISO ou juros de títulos municipais, e é projetado para garantir que o contribuinte paga pelo menos uma quantia mínima de imposto sobre a receita que seria de outra forma taxada. livre. Isso pode ser calculado no Formulário IRS 6251, mas os funcionários que exercem um grande número de ISOs devem consultar um consultor fiscal ou financeiro antecipadamente para que possam antecipar adequadamente as consequências fiscais de suas transações. O produto da venda de ações da ISO deve ser relatado no formulário IRS 3921 e depois transferido para o Anexo D.
The Bottom Line.
As opções de ações de incentivo podem fornecer uma receita substancial aos seus detentores, mas as regras fiscais para o seu exercício e venda podem ser complexas em alguns casos. Este artigo aborda apenas os destaques de como essas opções funcionam e as maneiras como elas podem ser usadas. Para obter mais informações sobre opções de ações de incentivo, consulte seu representante de RH ou consultor financeiro.

Líder Global em Simulações de Negociação Educacional.
para os mercados acadêmico, corporativo e de consumo.
experimentar o absoluto.
melhor em negociação virtual e melhorar suas habilidades de investimento.
Negociação, gerenciamento e rastreamento simplificados.
Mais de 50 bolsas globais Ações, títulos, fundos mútuos, opções, futuros, opções futuras, commodities e mercados Forex dos EUA apresentam execuções de ordens de compra / venda em tempo real Relatórios para download incluindo: Histórico de transações, Extratos de conta, Posição aberta e mais!
Atualizações e classificações de portfólio de streaming Lista de observação personalizável para rastrear todos os seus interesses comerciais globais Faixa completa de tipos de pedidos, incluindo: Mercado, Limite, Parada, Parada de Rejeição $, Trailing Stop% Única visualização de gráfico de um dia, 30 dias e anual de suas participações.
StockTrak oferece uma gama completa de serviços.
Um Software de Sala de Negociação versátil e compreensivo com muitos recursos flexíveis.

Faça o download de dados históricos de preços de ações no Excel usando a interface do Yahoo CSV.
Uma solução alternativa para a mudança de cookie-migalha de 2017.
Puxando dados do Yahoo Finance CSV para o Excel.
Há muito o que gostar nos dados históricos do Yahoo Finances, por um lado, abrange todas as principais bolsas de valores. Por outro, é grátis. Mas, como muitas outras pessoas, fiquei muito desapontado quando o Yahoo complicou a capacidade de baixar os preços das ações históricas no Excel como CSV em maio de 2017, adicionando uma validação de cookies e migalhas. Ele tornou as versões antigas do SignalSolver completamente inoperáveis, mas, como se vê, com uma codificação cuidadosa, você ainda pode acessar os dados. Para minimizar o impacto nos usuários existentes, desenvolvi uma função do VBA que usa o URL original como um argumento e retorna os dados. Esta função - EmulateURL, minimiza as alterações no seu código VBA existente.
Abaixo, você pode baixar, gratuitamente, o código VBA e planilhas para esta solução alternativa. Foi testado nos EUA e na Alemanha, onde os decimais são separados por vírgulas. Mas esteja ciente de que existe uma alternativa que pode ser uma opção melhor para você. O Yahoo Finance tem uma interface baseada em JSON (JavaScript Object Notation) que é mais rápida, oferece uma resolução muito melhor (a 1 minuto) e está quase em tempo real para várias trocas. Também desenvolvi uma interface VBA do Excel livre para esses dados baseados em JSON, para que você possa ter um retorno imediato caso o Yahoo faça mais alterações.
Uma planilha para baixar os preços das ações históricas.
GetHistoricStockPrices. xlsm é uma planilha simples para baixar os preços das ações históricas. Ele usa EmulateURL para fazer o trabalho de buscar os dados. É desbloqueado e tem todo o código VBA que você precisa para fazer o trabalho. Aqui está um pequeno vídeo:
Correção, junho de 2017: preços das ações históricas para o Excel.
Faça o download desta planilha clicando abaixo. Você precisará "Ativar edição" e "Ativar conteúdo" para executar o código.
Como emular as URLs de dados históricos do ichart do Yahoo no Excel VBA.
Nesta seção, falamos sobre o código do VBA para que você possa corrigir suas planilhas existentes usando a função EmulateURL com alterações mínimas. Os URLs desativados ficaram assim:
O Yahoo desativou URLs desse tipo por volta de maio de 2017, adicionando um cookie e migalhas para que somente os navegadores pudessem acessar os dados. EmulateURL é uma função do VBA que emula a saída dessas URLs, adicionando um cookie e migalha de trabalho. Gostaria de agradecer a Scott Lindsay no xlautomation. au como inspiração para alguns elementos essenciais da rotina, particularmente o uso da biblioteca winHTTP.
Como usá-lo.
EmulateURL é uma função do VBA que precisa de apenas dois argumentos:
O ichart URL que você deseja emular (como uma string) O local da planilha onde você deseja que a saída vá (como um objeto Range)
O URL ichart é exatamente o mesmo URL que você estava usando até que o Yahoo! desativou o serviço em maio de 2017, portanto, as alterações em seu código serão mínimas. A URL em si tem muitos argumentos dependendo se você deseja preços diários (& amp; g = d), preços semanais (& amp; g = w), preços mensais (& amp; g = m), dividendos (& amp; g = v) ou divisões (& amp; g = s). A data de início é dada nos parâmetros a, bec, a data final é dada nos parâmetros d, e e f. O símbolo da ação (& amp; s) deve ser entendido pelo Yahoo!
Por exemplo, o código VBA:
Dá o seguinte:
Se você também quiser a saída no formato CSV, poderá adicionar o local da planilha:
EmulateURL MyURL, Sheet1.Range ("A1"), Sheet1.Range ("J1")
Dando a você, (além do acima):
Há também opções para:
Classifique em ordem crescente ou decrescente. Pular linhas com zeros nos preços, ou má formatação Leia os dados brutos das consultas subjacentes.
Faça o download da planilha. xlsm para ver essas opções em ação, é realmente bastante simples.
Um arquivo. txt do código VBA para a função EmulateURL. Copie e cole em um módulo.
Com vários exemplos de como usar EmulateURL, como um arquivo. xlsm. Você precisará ativar as macros para executá-lo. Projeto VBA está desbloqueado. Versão 1.0f.
Planilha de exemplo assinada digitalmente.
Se você está nervoso sobre a execução de código não assinado. A autoridade de assinatura é Thawte, certificado emitido para a Algorithm Science.
Atualização de 16 de outubro de 2017: Versão 1.0f: Melhoria na geração de migalhas.
Obrigado a Thomas Eirich, da Suíça, por descobrir isso. Ele explica melhor:
Eu descobri recentemente que o Yahoo mudou sua API de download para dados históricos de CSV.
Por sorte, encontrei sua página:
explicando como a nova API funciona (migalhas). Com isso eu consegui mudar meu.
Código Python para trabalhar com a nova API - ** Obrigado ** por compartilhar!
Enquanto testava o meu código, notei o motivo da sua manipulação do CrumbTry.
O miolo é extraído de um pedaço de código JavaScript embutido no arquivo.
página da web. Essa incorporação exige que certos caracteres na migalha sejam escapados.
aka não traduzido literalmente.
A barra inclinada é representada como \ u002F onde 2F é o hexadecimal.
Código ASCII de '/'. Você pode se livrar das migalhas erradas pela decodificação.
Meu código Python se parece com isso (usando uma expressão regular):
migalha = re. sub (r '\\ u00 ([0-9A-Fa-f])', lambda x: chr (int (x. group (1), 16)), migalha)
Infelizmente, não tenho ideia de como seria uma expressão equivalente no VB.
Felicidades da Suíça,
Consegui corrigir o VBA com uma instrução "replace":
Crumb = Replace (Crumb, "\ u002F", "/")
Usando isso, não consegui detectar nenhuma falha de migalhas.
Atualização de 8 de setembro de 2017: versão 1.0e: outra correção para países que usam vírgula como separador decimal.
Usando MID $ (1/2, 2, 1) para detectar o separador decimal não funciona em todos os lugares (obrigado Ran para testar isso), então eu mudei o código para usar Application. International (xlDecimalSeparator) em seu lugar. Podemos precisar alterá-lo para Application. DecimalSeparator, não totalmente certo de qual é o melhor. Deixe-me saber se você tiver problemas com o CSV, pois só posso testar com as configurações dos EUA.
Atualização de 7 de setembro de 2017: versão 1.0d: correção para países que usam vírgula como separador decimal.
Usuários em países onde "," é o separador decimal estavam tendo problemas (veja os comentários de Sam abaixo). Eu adicionei uma correção no 1.0d que analisa o separador decimal e descobre como converter as strings do Yahoo em números, qualquer que seja seu separador decimal. Em seguida, se você solicitar o formato CSV (Comma Separated Value) quando "," for seu separador, ele usará ";" como o separador de registros CSV, que é o padrão nesses países.
Obrigado a Sam e ao Dr. Volker Wendel por me ajudarem com esta peça.
Eu também alterei o DateValue para DateSerial (veja o comentário de Vincent abaixo). Obrigado Vincent por apontar isso.
Como sempre, deixe-me saber nos comentários ou e-mail se você tiver mais algum problema.
Atualização importante 12 de julho de 2017: versão 1.0c.
O Yahoo alterou novamente o formato dos dados, eles agora estão dando dados ajustados por divisão nas colunas O, H e L. EmulateURL não emula o antigo comportamento de preço "não ajustado para divisões", ele simplesmente fornece os dados ajustados divididos. Isso geralmente é o que você precisa de qualquer maneira.
Há também um problema secundário com os dados - a coluna de preços "Fechar" é, na verdade, a divisão & amp; preço de fechamento ajustado de dividendos, e seu "Adj Close" é o preço de fechamento ajustado dividido. Deveria ser o contrário. O Yahoo parece não ter pressa em consertar isso, seja no site do Yahoo Finance ou nos servidores que fornecem os dados para o EmulateURL. Portanto, na versão 1.0c, adicionei uma solução alternativa, adicionando três linhas de código a EmulateURL para alternar os preços "Fechar" e "Fechar Adj", mas somente se o preço de fechamento for menor que o preço de fechamento de ajuste. Quando eles consertam, o código ainda deve funcionar.
Eu estou olhando para efeitos colaterais indesejáveis, mas nenhum foi encontrado até agora. Deixe-me saber se você tem algum problema.
Atualização importante 24/06/2017: Versão 1.0b.
Yahoo acaba de mudar o formato dos dados. Até agora os preços abertos, altos e baixos foram ajustados para dividendos. EmulateURL versão 1.0a compensou isso. Eles agora estão desajustados, então a compensação não é necessária. Se você estiver usando o EmulateURL versão 1.0a, os preços dos estoques de dividendos não estarão mais corretos. Por favor atualize para a versão 1.0b.
Adj Close Inconsistency em GetHistoricalData.
Muitos elogios para Jeff Pietsch por identificar isso e fornecer uma solução. Vou deixar Jeff descrever o problema:
Jeff forneceu uma versão da planilha que pode ser usada para consultar os preços semanais e mensais de Fechar e Fechar Adj. Modifiquei a folha ligeiramente para ocultar os preços e volumes altos, baixos e abertos que precisariam ser derivados separadamente. Observe que as datas nas buscas semanais e mensais são as datas de encerramento dos períodos na consulta, não as datas de abertura por convenção.
Diferenças entre os dados novos e antigos.
Eu notei algumas diferenças entre o antigo e o novo, mesmo que eu tenha tentado o melhor possível para colocá-lo no mesmo formato:
1. Com os novos dados, os dados semanais são alinhados no dia da semana e não nos limites do dia de negociação. Se você definir uma data de início para quinta-feira, todas as datas serão às quintas-feiras e os dados serão de quinta a quinta-feira, o que normalmente não é o que você deseja. Na consulta original, as datas foram o primeiro dia de negociação da semana.
2. os dados mensais têm datas do primeiro dia do mês, não o primeiro dia de negociação do mês como antes.
3. Yahoo! parece ocasionalmente lançar uma linha diária como a primeira linha (ou última dependendo da ordem de data) dos dados retornados em consultas semanais e mensais. Acontece mais fora de horas. Pouco estranho isso.
4. Os volumes parecem ser completamente diferentes da consulta antiga. Eu não olhei para isso como eu não uso volume no meu trabalho, mas você precisa estar ciente. Compare com seus dados antigos, para AAPL mensalmente, por exemplo.
5. (Adicionado em 7 de julho de 2017) Os preços dos novos dados são ajustados em parcelas. Anteriormente, os preços não eram ajustados para divisões.
Deixando um comentário, registrando para notificações de atualização, contribuindo.
Se você usar o código e achar útil ou com defeito, por favor, deixe-me saber de qualquer maneira na caixa de comentários abaixo - eu agradeceria. Se você gostaria de receber notificação de atualizações, você pode se registrar (nenhum lixo eletrônico eu prometo). Além disso, se você deseja que o projeto continue (ou esteja economizando um pacote ao não usar um serviço de dados pagos), considere a compra do SignalSolver! Para contribuir, basta digitar "contribuição" no campo UserID.
67 Comentários.
Impressionante! Eu olhei para a mudança para os dados do Google, que também é gratuito, mas não incluiu close ajustado ou dividendos / splits, então não me serve muito. Eu estava pronto para mudar para uma assinatura paga e encontrei esta página. É ótimo, eu nem preciso mudar os URLs que eu estava usando ou os símbolos. Muito obrigado Andrew.
Estava trabalhando inicialmente. Esforço genial. Muito apreciado.
Nova versão não funciona para mim embora.
Obrigado pela gentil observação. Não funcionaria para mim esta manhã, a URL não estava respondendo corretamente, mas agora parece estar de volta. Talvez você possa tentar novamente. Você também pode aumentar a contagem de novas tentativas de URL no código do VBA.
Parece bem agora. Magia.
Isso é ótimo, obrigado. Você conhece uma maneira fácil de obter downloads de vários tickers de uma só vez? Eu encontrei outra planilha on-line (Bulk Dividend Downloader) que faz isso, mas ela não foi atualizada para o novo problema da API do Yahoo, e não consigo descobrir como integrar seu código de download nessa planilha. obrigado.
xlautomation. au/ tem algo parecido. Mas se nós nevarmos o Yahoo com muitos pedidos, eu ficaria preocupado que eles encontrarão uma maneira de pará-lo. Melhor usar um serviço pago se precisar de muitos dados.
Obrigado por fornecer isso. Muito apreciado, no entanto, não posso obtê-lo para entregar os preços corretos para, e. VWS. CO. Os preços que recebo são um fator 10 ^ 6 muito grande! Não sei como ajustar o código ou formatar as colunas para obter os preços corretos. O que fazer? Alguma ideia? De antemão obrigado.
Isto é interessante. Eu recebo os mesmos dados com EmulateURL como eu recebo com o site do Yahoo (cerca de US $ 600), então eu não acho que tem a ver com os dados. Gostaria de saber se isso tem a ver com localização para o seu Excel ou sistema operacional. Tente formatar suas colunas como um número em vez de moeda.
Recebo uma mensagem: Erro inesperado.
Está funcionando para mim. Você pode me dizer um pouco mais sobre os dados que está solicitando? Símbolo, frequência, datas etc. Obrigado, Andrew.
Eu acho que isso é um problema de linguagem. Recebi a mesma mensagem de erro (alemão Win7 + Office 2010). Assim que mudei os formatos de data e figura para Englisch (EUA), funcionou bem. Você pode fazer isso em Configurações do Windows, Região e Idiomas, Formatos.
Eu queria saber se há uma maneira simples de duplicar a folha, incluindo Macros. Eu copiei a planilha, mas infelizmente o botão Click não funciona na planilha copiada, mas apenas na planilha original.
Estou analisando os problemas de localização. No problema do botão de clique, basta inserir uma forma e atribuir uma macro a ela (clique com o botão direito do mouse na forma e selecione Atribuir macro). No entanto, minha planilha de exemplo também nomeou células que são referidas no código. Você pode vê-los todos se você for para a guia Fórmula e clicar em Gerenciador de nomes. Você pode duplicar os nomes em sua planilha ou se referir às células usando & # 8220; $ A $ 1 & # 8221; notação no código.
Eu consertei o problema da cópia, agora você pode copiar a folha e ela funciona para cada cópia.
Sobre as diferenças de volume, pode ser que um inclui horas fora de negociação e o outro não é apenas um pensamento.
Obrigado por tudo o que você faz.
Oi Andrew, Obrigado por trabalhar para resolver este novo problema frustrante com a API de dados históricos do Yahoo. Eu converti sua lógica do VBA para Java usando o pacote Apache Http Connection. Tudo parece estar funcionando muito bem. Eu continuarei testando & # 8230;
Uma vez totalmente testado, vou adicioná-lo na minha aplicação.
Obrigado novamente, deixe-me saber o que você acha?
Isso me dá muito prazer. Bom trabalho, Bigttrott. Você estará em breve de volta à ação.
Notei que os preços diários dos fundos mútuos não estão atualizados, assim como os preços normais das ações. No entanto, eles são atuais ao visualizar os preços diretamente no site do Yahoo.
A partir de hoje (sábado, 8 de julho de 2017), os dados diários dos fundos mútuos do EmulateURL só aparecem até 3 de julho. Se você clicar em & # 8220; dados históricos & # 8221; no site do Yahoo, essa tabela de dados também vai para o dia 3 de julho. Então, isso é consistente, no entanto, o Yahoo também dá um preço atual no topo da página para o fechamento do dia 7 de julho. Esse preço não aparece na consulta, portanto, você precisaria fazer uma consulta separada para o preço atual. Eu não sei porque não há dados para o 5º e 6º (4º foi um feriado). Ninguem sabe?
Eu notei um problema com ações listadas no Reino Unido (códigos de ações que terminam em & # 8220;.L & # 8221;). Parece um problema semelhante que você tinha anteriormente que você corrigiu com a versão mais recente.
Mais uma vez, muito apreciado.
Obrigado por identificar este Neil.
Na verdade, o problema parece estar em todas as ações, não apenas em. Na saída EmulateURL e na página da web do Yahoo, a coluna Fechar está mostrando o preço do fechamento ajustado, e a coluna Fechamento ajustado está mostrando o preço real de fechamento. Eu esperaria que o Yahoo corrigisse isso em breve, caso contrário, precisarei emitir uma correção temporária.
Depois que eu descobri a XL Automation, e de lá o link do site deles para o seu, percebi que tinha (pelo menos por enquanto) resolvido o problema de como baixar os preços das ações das finanças do Yahoo. Na maioria das vezes funciona lindamente e estou muito feliz que os resultados sejam comparados com os dados que recebi antes da alteração do URL. Muito obrigado por isso.
Eu só tenho esses comentários:
A data final funciona principalmente, mas se a data final não for a data de hoje, parece preferir a última.
A data de início não é honrada & # 8211; Ele permite uma grande quantidade de datas antes da data de início. O melhor que posso dizer é que, de alguma forma, parece acabar trocando valores de start_day e start_month. Isso é possível? A propósito, eles são string ou inteiro?
Ele aplicou corretamente o ajuste em & # 8216; ajustado próximo & # 8217; preços, o que é ótimo. Os valores são muito próximos, mas não exatamente os mesmos que os preços ajustados costumavam ser.
O mais curioso de tudo é que tenho acesso a todos os tickers que estou procurando, exceto o próprio YHOO. Você sabe por que isso é assim?
Atenciosamente, Clive.
Você está usando a função EmulateURL VBA, a planilha GetHistoricPrices. xlsm ou o EmulateURL-V1.0b. xlsm? A questão start_day vs start_month pode ser explicada pelo fato de que no Reino Unido a data é expressa dd / mm / aaaa, mas aqui nos EUA usamos o menos lógico mm / dd / aaaa. Essa localização poderia explicar esse comportamento? EmulateURL leva o mês, dia e ano como parte das strings de URL. Na planilha GetHistoricPrices. xlsm, converto a célula de data da planilha d em strings dentro da URL usando:
Funciona bem para mim aqui nos EUA.
O preço de fechamento ajustado e o preço de fechamento real são atualmente intercambiados, um grande erro nos dados do Yahoo. Estou esperando para ver se isso é corrigido em breve. Veja nota no topo da página web. Eu não sei se isso explica a discrepância que você está vendo.
Sim, é verdade, você não pode obter dados históricos para o YHOO do Yahoo. É uma coisa misteriosa.
O problema da data agora está corrigido. A versão 1.0e funciona nos EUA e na Europa. Obrigado novamente ao Dr. Volker Wendel por testar isso na Alemanha.
Obrigado Andrew, estou usando a função EmulateURL inserida como um módulo em minha macro copiando e colando a partir da versão em texto do EmulateURL-V1.0b. xlsm.
Agora percebo que o ticker da YHOO se tornou AABA desde 18 de junho.
Realmente aprecio por sua excelente função VBA que realmente me fez um grande favor.
Esta função / ferramenta me ajudou a corrigir a consulta de dados históricos do Yahoo Finance nos últimos dias e você também fornece a solução para o problema Close / AdjClose em tempo hábil.
Eu noto que o & # 8220; Fechar & # 8221; os dados pareciam estar "ajustados". quando uma divisão de ações aconteceu. Eu pensei que sua V1.0c já estava consertada. No entanto, posso até encontrar números O-H-L-C como 30,31,29,26 (ajustado Close ainda menor que o valor baixo em um dia). Existe alguma maneira de ignorar o & # 8220; ajustado Close & # 8221; e é só pegar o atual real & # 8220; Fechar & # 8221; dados? Obrigado!
Oi, você poderia, por favor, fornecer o símbolo ou símbolos dos estoques defeituosos para que eu possa dar uma olhada e tentar descobrir o que está acontecendo?
Agora posso encontrar apenas como símbolo & # 8220; 1264.TWO & # 8221; dividido em 7/4 e o & # 8220; Fechar & # 8221; dados antes do dia 2017/7/3 foram ajustados que não são os dados originais. Mas parece que muitos casos se tornam normais novamente. Realmente não sei porque. Obrigado!
Eu não pareço ser capaz de obter os preços do ETF. Isso é uma limitação ou estou fazendo algo errado?
Desculpe pela resposta tardia. Eu testei em muitos ETFs (SPY, ERX, setor ETFs) e funciona bem. Você pode me dizer quais não estão funcionando?
Na verdade, parece mais geral. Por exemplo, a lista abaixo não aparece (MKTX funciona às vezes, às vezes não):
Todos trabalham para mim, tentei algumas vezes sem falhas. Gostaria de saber se há algo diferente em seu código ou ambiente. Se você quiser me enviar seu arquivo do Excel, posso dar uma olhada.
Eu tive que consertar uma fórmula unixdate para fazer funcionar em todo o mundo.
UnixStartDate = (DateSerial (StartDateYr, StartDateMo, StartDateDay) & # 8211; # 1/1/1970 #) * 86400.
UnixEndDate = (DateSerial (EndDateYr, EndDateMo, EndDateDay) & # 8211; # 1/1/1970 #) * 86400.
Muito obrigado por apontar isso. Meu uso do DateValue (& # 8220; 01 de janeiro de 1970 & # 8221;) é realmente bom apenas onde & # 8220; Jan & # 8221; Entende-se pela data de localização do sistema. Eu vou mudar isso, no entanto eu vou usar DateSerial (1970,1,1) em vez de literais de data, não que # 1/1/1970 # seja ambíguo, mas eu acredito que a melhor prática é usar DateSerial, pois literais de data podem ser ambíguos ( por exemplo, # 4/5/1970 # pode significar 5 de abril ou 4 de maio, dependendo de onde você está no mundo, correto?
como fazer isso passo a passo:
Se você também quiser a saída no formato CSV, poderá adicionar o local da planilha:
EmulateURL MyURL, Sheet1.Range (& # 8220; A1 & # 8221;), Sheet1.Range (& # 8220; J1 & # 8221;)
Sim, seu snippet de código deve funcionar. Você também pode sobregravar os dados em A1 se precisar apenas dos dados CSV. Você está tendo algum problema?
Andrew & # 8212; Eles também agora trabalham para mim. Eu suspeito que a internet intermitente foi o problema. Obrigado pela sua paciência.
O arquivo não funciona. Aparece a mensagem de erro & # 8220; EmulateURL: erro inesperado & # 8221;
Provavelmente o formato de data em sua localidade. Tente a correção de Vincent (veja acima).
Agora funciona, mas os números são sem vírgulas. Por exemplo, aparece 4223896 em vez de 42,23896. Por quê?
Eu acho que você pode precisar alterar o separador decimal do Excel de vírgula para período, porque o Yahoo usa período como o separador decimal em seus dados. Aqui está um artigo sobre como fazer: solveyourtech / change-decimal-separator-excel-2013 /. Deixe-me saber se você é capaz de resolvê-lo.
Oi Andrew, eu tentei como você sugeriu, mas nada. Qualquer período aparece .. o que mais eu poderia fazer?
Oi Andrew eu resolvi usar outro caminho. Esta é minha solução:
Se IsNumeric (OutCol (ThisColumn)) Então D (ThisColumn) = CDbl (OutCol (ThisColumn)) Else D (ThisColumn) = 0.
Se IsNumeric (OutCol (ThisColumn)) Então D (ThisColumn) = CDbl (Substituir (OutCol (ThisColumn), & # 8220;. & # 8221 ;, & # 8220;, & # 8221;)) Else D (ThisColumn) = 0
Se esta coluna & gt; ColumnMax Then Comma = & # 8220; & # 8221; Else Comma = & # 8220;, & # 8221;
Se esta coluna & gt; ColumnMax Then Comma = & # 8220; & # 8221; Else Comma = & # 8220 ;; & # 8221;
Funciona muito bem, mas recebo o número & # 8220; 5 & # 8221; em vez de & # 8220;. & # 8221; em todos os preços, na TABELA mod.
Obrigado por testar isso para mim. Eu coloquei uma nova versão (1.0e) que espero que corrija esse problema. Se você tiver uma chance, por favor experimente.
Qualquer coisa semelhante com base no GOOG Finance? Recentemente, eles eliminaram a opção de download histórico.
Existe uma maneira de alterar o símbolo da ação para executar vários sotcks de uma só vez? talvez um + ou uma vírgula?
Olá Matt. A webquery aceita apenas um símbolo. Mas, você poderia codificá-lo no VBA para chamar EmulateURL várias vezes.
Como podemos usar dados de outro mercado de ações (ou seja, a Austrália) estou tendo um pouco de dificuldade, obrigado.
Você tem que usar um sufixo de troca para ações fora dos EUA. A lista de trocas do Yahoo está em help. yahoo/kb/SLN2310.html. Para a Austrália, o sufixo que você usa é. AX. Assim, por exemplo, o Super Retail Group Limited com o símbolo SUL seria SUL. AX.
Espero que isto ajude,
Isso é incrível! Você é um verdadeiro benfeitor público, meu amigo Andrew !!
Muito obrigado senhor.
se me permitisse, sou novo no excel e vi sua resposta para Matt: Hello Matt. A webquery aceita apenas um símbolo. Mas, você poderia codificá-lo no VBA para chamar EmulateURL várias vezes.
você poderia, por favor, elaborar mais sobre como isso?
Não estou incentivando o uso do código para downloads em massa de muitos símbolos neste momento. Eu acho que poderia colocar uma pressão sobre os servidores e levar o Yahoo! para obscurecer ainda mais o serviço.
Há um problema ao usar a data final para uma segunda-feira. Seu URL parece estar correto, mas o yahoo só retornará dados para uma sexta-feira e soltará o pedido para segunda-feira. Isso é um problema com o código no Yahoo.
Vou conferir isto. Enquanto isso, as pessoas devem estar cientes desse problema.
Eu uso o MarketXLS para isso.
Eles têm atualizações regulares e suporte ao cliente.
Obrigado Jonathon, eu tenho certeza que o MarketXLS é um ótimo produto. O preço atual da versão com preços e cotações históricas é de US $ 240 por ano. Se as pessoas só querem obter cotações ao vivo (um minuto de atraso para a maioria das ações dos EUA, elogios ao Yahoo!) e dados históricos no Excel, eles também devem considerar o uso da planilha de busca JSON. Atualmente, custa zero dólares por ano e é suportado pela Algorithm Science.
Isso é ótimo, e parece ser a melhor solução para o problema que eu tinha desde que o Yahoo parou seu serviço. Também ajuda que os códigos, incluindo moedas e amp; índices são todos iguais.
Eu tenho uma pergunta que eu espero que você possa me dar alguma orientação sobre: ​​Eu estou olhando para puxar o preço (20 minutos de atraso ou último preço de fechamento) para.
150 ações em diferentes bolsas. É possível, e onde é melhor colocar o loop que passaria pelos códigos e continuar adicionando na parte inferior da tabela?
Estou feliz por ter gostado. Se você for fazer loop, use a interface JSON signalsolver / JSON, pois ela é mais rápida (usa apenas uma consulta) e os preços só são atrasados ​​em um minuto. No entanto, eu desestimulo o loop porque mastiga a largura de banda do servidor. Eu estou procurando por alternativas.
Impressionante! Também funciona em HKEX.
Muito obrigado!
Eu vejo a nota de 8 de agosto de Vincent e sua resposta de 14 de agosto.
Estou na Austrália usando as datas dd / mm / aaaa e recebendo um erro ao ter uma data de início de 2/1/2018 e data de término 14/1/2018. A mensagem de erro termina com & # 8220; Entrada inválida & # 8211; a data de início não pode ser posterior à data final. startDate = 1517443200, endDate = 1515888000 & # 8242;))) & # 8221;
Por favor, informe sobre alterações no código que devo fazer.
Tente alterar o formato das células de data (clique com o botão direito-> Formatar células) para usar um formato de data que é precedido por um asterisco. Esses formatos respondem às alterações nas configurações de data regionais.
Obrigado, no entanto, tem sido assim durante os testes.
Eu interpretei Vincents & # 8217; info acima e o seguinte em Ln 172 & amp; 173 parece estar funcionando.
UnixStartDate = CStr ((DateValue (StartDateDay & amp; & # 8220; & & # 8221; & amp;; StartDateMo & amp; & # 8220; / & # 8221; & amp; StartDateYr) & # 8211; # 1/1/1970 #) * 86400)
UnixEndDate = CStr ((DateValue (EndDateDay & amp; 8220; & # 8221; & amp; EndDateMo & amp; & # 8220; / & # 8221; & amp; EndDateYr) & # 8211; # 1/1/1970 #) * 86400)
Você pode reconhecer outros problemas com isso e, se forem prováveis, agradecemos seu conselho.
Continuarei investigando se isso me serve a longo prazo.
Uma contribuição será disponibilizada no caso em que eu faça uso permanente de seus métodos.
Obrigado pela inspiração para continuar a encontrar uma solução para o meu uso pretendido.
Não tenho certeza porque # 1/1/1970 # funcionaria melhor do que o DateSerial (1970,1,1), mas eu acho que funciona. Eu pretendo alterá-lo de volta para literais de data na próxima versão.

Planilhas do Excel.
Estas são planilhas gratuitas do Microsoft Excel para qualquer pessoa usar e manipular para suas finanças pessoais. Se você receber um erro ou sugestão sobre como meus modelos podem ser melhorados, informe-nos e atualizarei-os se eu concordar com você. Eu posso dizer-lhe como criar um novo design com fórmulas de excel para caber as comissões do seu corretor se você precisar de ajuda. Se você usar um desses e quiser me agradecer com uma doação, você pode usar este botão e meu endereço de e-mail, alex [.. AT ..] mytradersjournal:
A planilha do Excel anexada é a minha visão mensal dos ganhos, além da divisão do setor de participações, juntamente com meus cálculos de lucro ou perda por ação. Eu uso o Yahoo! para todas as informações sobre indústrias e sub-indústrias.
Eu acho vital como parte do diário do meu trader rastrear onde eu estou, não apenas por ação, mas também como o comércio de cada opção está fluindo. Algumas posições podem levar seis meses ou mais do começo ao fim e sem rastrear cada negociação de venda de puts e depois ter o estoque atribuído a mim e, finalmente, a vender uma chamada coberta, eu achei muito fácil perder a noção de onde eu estava . Ao mesmo tempo, ter a visão no topo do meu progresso mensal ajuda a me lembrar que é a grande figura que importa. Perder dinheiro em uma opção de negociação não significa que eu estou em baixa no geral. Acho essa planilha uma das minhas melhores ferramentas para controlar as oscilações emocionais que todos nós sentimos ao trabalhar no mercado de ações. Ter a divisão do setor da indústria incluída na mesma visão também me impede de carregar até pesado em uma indústria, não importa o quão otimista eu seja.
RETURN ON INVESTMENT & # 8211; PUNHAS DESPIDAS.
A planilha Excel anexada me ajuda ao escrever puts nuas. Eu reviso todas as opções usando o prêmio, a greve, o número de contratos e o tempo restante para determinar qual será o retorno sobre o investimento (ROI). Ao analisar cada contrato de opção, comparo qual strike e premium é a melhor escolha para mim. Se a ação subjacente for altamente volátil, posso ver facilmente que a venda sai bem do dinheiro e posso ficar feliz com o risco reduzido. Se o estoque subjacente não for muito volátil, posso ver facilmente que preciso ignorá-lo e passar para outra ação para revisão. Depois de determinar as minhas ações e greves, posso experimentar vários preços em que definirei o meu limite para o prémio que me dará o ROI que procuro. Cada uma dessas etapas se tornou automática para mim e posso percorrer meia dúzia de escolhas em menos de um minuto para tomar uma decisão bem pensada.
Essa planilha ainda tem várias resenhas de opções anteriores como exemplos do que fiz.
RETURN ON INVESTMENT & # 8211; CHAMADAS COBERTAS.
Eu uso a planilha Excel anexada para me ajudar ao escrever chamadas cobertas. Eu uso muito como a planilha acima, mas para chamadas cobertas em vez disso.

No comments:

Post a Comment