Wednesday, 14 March 2018

Opções de cotação de ações no excel


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.

Opções de cotação de ações no excel
Preços e Negociação de Opções.
& # 169; 2017-2004 por Timothy Falcon Crack PhD (MIT)
". uma explicação clara da teoria básica de precificação de opções, além de conselhos de negociação de opções para o iniciante"
A QUARTA edição revisada (ISBN 978-0-9941386-8-2) está em estoque em lojas online. Este livro fornece explicações extremamente claras da teoria de precificação de opções de Black-Scholes e discute as aplicações diretas da teoria à negociação de opções. As explicações não vão muito além do Black-Scholes básico. Há três razões para isso: primeiro, um novato não precisa ir muito além de Black-Scholes para ganhar dinheiro nos mercados de opções; Segundo, toda teoria de precificação de opções de alto nível é simplesmente uma extensão da teoria de Black-Scholes; e Terceiro, já existem muitos livros que vão muito além de Black-Scholes sem primeiro estabelecer a base firme dada aqui. O autor estudou precificação de opções no nível de PhD no MIT e em Harvard, ensinou pré-graduação e precificação de opções de MBA na Universidade de Indiana (ganhando muitos prêmios de ensino no processo) e trocou opções por mais de dez anos. Essa mistura especial de aprendizado, ensino e negociação é refletida em todas as páginas. O que está neste livro que o torna especial ou único: intuição básica que você precisa se estiver negociando opções pela primeira vez ou entrevistando para um trabalho de opções. Conselhos honestos sobre negociação: não existe uma maneira simples de vencer os mercados, mas se você tiver habilidade, meu conselho pode ajudá-lo a ganhar dinheiro, e se você não tem habilidade, mas ainda opta por negociar, meu conselho pode reduzir suas perdas. Tratamento de imersão total dos custos de transação (custos T): por exemplo, aqui estão as cotações que você vê na tela, o que você deve fazer para evitar custos T desnecessários. Senhas para duas planilhas para download. A primeira planilha permite ao usuário (com uma visão de estoque) prever lucros e custos de transação para posições de opções usando modelos simples que permitem spreads bid-ask, comissões e o sorriso da volatilidade. A segunda planilha permite ao usuário explorar as sensibilidades das opções, incluindo os gregos. Tratamento cuidadoso de como aplicar os preços Black-Scholes (estilo europeu) à negociação de opções (de estilo americano) sobre ações. Atenção especial às explicações intuitivas para termos na fórmula de Black-Scholes. Comparação de alavancagem através de negociação de margem em ações para alavancar através de opções de negociação. Discussão intuitiva de retornos compostos continuamente. Introdução da noção de "paratrading" (negociação de ações lado a lado com opções para gerar lucro adicional). Tratamento de "arrependimento" exclusivo de decisões de exercício antecipado e trocas para chamadas e colocações ao estilo americano. Discussão / ilustrações exclusivas sobre as implicações da paridade de put-call no preço das opções. Como calcular Black-Scholes em sua cabeça em 10 segundos. Tratamento especial de movimento browniano aritmético, incluindo fórmulas gerais de preços e comparação com Bachelier e Black-Scholes. A terceira edição inclui telas de terminais profissionais da Bloomberg usadas para explicar conceitos-chave. Atenção cuidadosa ao impacto dos dividendos na precificação analítica de opções americanas. Código de precificação de opções Black-Scholes para o HP17B, HP19B e HP12C. Discussões de lições de negociação em termos que você pode entender. Tratamento intuitivo de tópicos de alto nível, como a interpretação tradicional bond-numereraire de Black-Scholes (onde N (d2) é P * (ITM)) versus a interpretação alternativa numeraire de Black-Scholes (onde N (d1) é P ** (ITM)). Incluindo reescrever a fórmula de Black-Scholes sob ambas as medidas. Discussão cuidadosa da análise dimensional e da fórmula de adequação (relacionando os preços de compra e de compra de FX através de fórmulas transformadas de Black-Scholes). Revisão intuitiva cuidadosa de precificação / probabilidades neutras ao risco e como e por que elas estão relacionadas a precificação / probabilidades físicas. Distinções cuidadosas entre o argumento inicial do tipo de cobertura Merton e, posteriormente, o preço neutro ao risco de Cox-Ross / Harrison-Kreps Discussão simples dos métodos de Monte Carlo na ciência e na precificação de opções. Interpretações intuitivas do PDE Black-Scholes e implicações para a negociação. Discussão cuidadosa das probabilidades condicionais relacionadas a Black-Scholes. Uma compilação de fatos estilizados sobre os mercados que o ajudarão a negociar (por exemplo, como lucrar com reversões, quando são os custos-T mais altos, implicações do mercado para o controle corporativo,.). Este livro pode ser usado como um suplemento de texto ou texto no nível avançado de graduação ou mestrado. Ele também pode ser usado como um suplemento no nível de PhD por alunos que precisam entender melhor a teoria de precificação de opções fundamentais e os mercados de opções. O livro também pode ser usado por qualquer pessoa que tenha uma compreensão básica das opções e queira negociá-las pela primeira vez. O conselho de negociação é destinado ao iniciante, mas pode ser útil para os traders mais experientes. Os conselhos de negociação não vão muito além das chamadas elementares e colocam posições, porque negócios mais complexos são simplesmente combinações destes. Veja a capa mais detalhes.
O Dr. Timothy Falcon Crack fez um curso de PhD no MIT e em Harvard, e formou-se com um PhD em Economia Financeira pelo MIT. É graduado em Matemática (com várias Estatística), Finanças e Economia Financeira e diploma em Contabilidade / Finanças. Ele também possui o Certificado de Gestão de Investimentos da UK Society of Investment Professionals. Ele ganhou seis prêmios de ensino universitário e foi indicado para pelo menos cinco outros.
O Dr. Crack publicou no principal periódico acadêmico de Finanças (The Journal of Finance), os principais periódicos voltados para profissionais em Finanças (The Financial Analysts Journal e The Journal of Futures Markets), e o principal periódico pedagógico em Finanças (The Journal of Educação Financeira). Ele também publicou em que foi o top revista de negócios interdisciplinar (The Journal of Business). Ele escreveu sete livros de finanças de autoria única (os links a seguir direcionam você para as últimas edições à venda na Amazon e na Amazon. co. uk):
O Dr. Crack lecionou em nível universitário de 1985 a 2000 e novamente a partir de 2004, incluindo quatro anos como assistente de ensino de linha de frente para alunos de MBA no MIT, e cinco anos ministrando cursos de graduação, MBA e PhD na Kelley School da Universidade de Indiana. O negócio. Ele é agora professor titular de Finanças na universidade mais antiga da Nova Zelândia.
O Dr. Crack trabalhou como consultor independente para a Bolsa de Valores de Nova York e para um órgão do governo estrangeiro que investigava o que estava errado nos mercados financeiros. Seu mais recente trabalho profissional foi como chefe de pesquisa de ativos quantitativos ativos para o Reino Unido e Europa Continental no escritório de Londres do que era o maior gestor de ativos institucionais do mundo.

Opções de cotação 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:

Fórmulas do Excel Black-Scholes e Como Criar uma Planilha de Preços de Opções Simples.
Esta página é um guia para criar sua própria planilha de cálculo de preços de opções do Excel, de acordo com o modelo Black-Scholes (estendido para dividendos da Merton). Aqui você pode obter uma calculadora Black-Scholes do Excel pronta com gráficos e recursos adicionais, como cálculos de parâmetros e simulações.
Black-Scholes no Excel: O Grande Quadro.
Se você não está familiarizado com o modelo Black-Scholes, seus parâmetros e (pelo menos a lógica das) fórmulas, você pode primeiro querer ver esta página.
Abaixo, mostrarei como aplicar as fórmulas Black-Scholes no Excel e como reuni-las em uma planilha de preços de opções simples. Existem 4 etapas:
Crie células onde você irá inserir parâmetros. Calcule d1 e d2. Calcular os preços das opções de compra e venda. Calcule a opção Gregos.
Parâmetros Black-Scholes no Excel.
Primeiro você precisa projetar 6 células para os 6 parâmetros Black-Scholes. Ao precificar uma determinada opção, você terá que inserir todos os parâmetros nessas células no formato correto. Os parâmetros e formatos são:
S 0 = preço subjacente (USD por ação)
X = preço de exercício (USD por ação)
r = taxa de juros livre de risco continuamente composta (% p. a.)
q = rendimento de dividendos continuamente composto (% p. a.)
t = tempo para expiração (% do ano)
O preço subjacente é o preço pelo qual o título subjacente está sendo negociado no mercado no momento em que você está fazendo o preço da opção. Digite em dólares (ou euros / iene / libra etc.) por ação.
O preço de exercício, também chamado de preço de exercício, é o preço pelo qual você vai comprar (se ligar) ou vender (se colocado) o título subjacente, se você optar por exercer a opção. Se você precisar de mais explicações, consulte: Strike vs. Market Price vs. Underlying Price. Digite também em dólares por ação.
Volatilidade é o parâmetro mais difícil de estimar (todos os outros parâmetros são mais ou menos dados). É seu trabalho decidir qual a alta volatilidade esperada e o número a ser digitado - nem o modelo Black-Scholes, nem essa página lhe dirão a alta volatilidade esperada com a sua opção em particular. Ser capaz de estimar (= prever) a volatilidade com mais sucesso do que outras pessoas é a parte difícil e fator-chave que determina o sucesso ou o fracasso na negociação de opções. O importante aqui é inseri-lo no formato correto, que é% p. a. (por cento anualizado).
Taxa de juros livre de risco deve ser inserida em% p. a., continuamente composta. O prazo da taxa de juros (tempo até o vencimento) deve corresponder ao tempo até a expiração da opção que você está precificando. Você pode interpolar a curva de juros para obter a taxa de juros do seu tempo exato até a expiração. A taxa de juros não afeta muito o preço da opção resultante no ambiente de juros baixos, que tivemos nos últimos anos, mas pode se tornar muito importante quando as taxas são mais altas.
O rendimento de dividendos também deve ser entrado em% p. a., continuamente composto. Se o estoque subjacente não pagar qualquer dividendo, digite zero. Se você está precificando uma opção sobre títulos que não sejam ações, você pode inserir a taxa de juros do segundo país (para opções de câmbio) ou o rendimento de conveniência (para commodities) aqui.
O tempo até a expiração deve ser inserido como% do ano entre o momento de precificação (agora) e o vencimento da opção. Por exemplo, se a opção expirar em 24 dias corridos, você inserirá 24/365 = 6,58%. Alternativamente, você pode querer medir o tempo em dias de negociação em vez de dias de calendário. Se a opção expirar em 18 dias de negociação e houver 252 dias de negociação por ano, você entrará o tempo até a expiração como 18/252 = 7,14%. Além disso, você também pode ser mais preciso e medir o tempo até a expiração em horas ou até minutos. Em qualquer caso, você deve sempre expressar o tempo de expiração como% do ano para que os cálculos retornem resultados corretos.
Ilustrarei os cálculos no exemplo abaixo. Os parâmetros estão nas células A44 (preço subjacente), B44 (preço de exercício), C44 (volatilidade), D44 (taxa de juros), E44 (rendimento de dividendos) e G44 (tempo até a expiração como% do ano).
Nota: É a linha 44, porque estou usando a Calculadora Black-Scholes para capturas de tela. É claro que você pode começar na linha 1 ou organizar seus cálculos em uma coluna.
Fórmulas de Excel Black-Scholes d1 e d2.
Quando você tiver as células com parâmetros prontos, o próximo passo é calcular d1 e d2, porque esses termos entram em todos os cálculos de preços de opção de compra e venda e gregos. As fórmulas para d1 e d2 são:
Todas as operações nessas fórmulas são matemática relativamente simples. As únicas coisas que podem não ser familiares para alguns usuários menos experientes do Excel são o logaritmo natural (função LN Excel) e raiz quadrada (função SQRT Excel).
O mais difícil na fórmula d1 é garantir que você coloque os suportes nos lugares certos. É por isso que você pode querer calcular partes individuais da fórmula em células separadas, como eu faço no exemplo abaixo:
Primeiro eu calculo o logaritmo natural da razão entre o preço subjacente e o preço de exercício na célula H44:
Então eu calculo o resto do numerador da fórmula d1 na célula I44:
Então eu calculo o denominador da fórmula d1 na célula J44. É útil calculá-lo separadamente assim, porque este termo também entrará na fórmula para d2:
Agora eu tenho todas as três partes da fórmula d1 e posso combiná-las na célula K44 para obter d1:
Finalmente, eu calculo d2 na célula L44:
Black-Scholes Option Preço Excel Fórmulas.
As fórmulas Black-Scholes para os preços das opções call (C) e put (P) são:
As duas fórmulas são muito semelhantes. Existem 4 termos em cada fórmula. Vou novamente calculá-los em células separadas primeiro e depois combiná-los na chamada final e colocar fórmulas.
N (d1), N (d2), N (-d2), N (-d1)
As partes potencialmente desconhecidas das fórmulas são os termos N (d1), N (d2), N (-d2) e N (-d1). N (x) indica a função de distribuição cumulativa normal padrão & # 8211; por exemplo, N (d1) é a função de distribuição cumulativa normal padrão para o d1 que você calculou na etapa anterior.
No Excel, você pode calcular facilmente as funções de distribuição cumulativa normal padrão usando a função NORM. DIST, que possui 4 parâmetros:
NORM. DIST (x, mean, standard_dev, cumulativo)
x = link para a célula onde você calculou d1 ou d2 (com sinal de menos para - d1 e - d2) média = insira 0, porque é distribuição normal padrão standard_dev = insira 1, porque é distribuição normal padrão cumulativa = insira TRUE porque é cumulativo.
Por exemplo, eu calculo N (d1) na célula M44:
Nota: Há também a função NORM. S.DIST no Excel, que é a mesma que NORM. DIST com média fixa = 0 e standard_dev = 1 (portanto, você insere apenas dois parâmetros: x e cumulativo). Você também pode usar; Estou mais acostumado com o NORM. DIST, que oferece maior flexibilidade.
Os termos com funções exponenciais.
Os expoentes (termos e-qt e e-rt) são calculados usando a função EXP Excel com - qt ou - rt como parâmetro.
Eu calculo e-rt na célula Q44:
Então eu uso para calcular X e-rt na célula R44:
Analogamente, eu calculo o e-qt na célula S44:
Então eu uso para calcular S0 e-qt na célula T44:
Agora eu tenho todos os termos individuais e posso calcular a chamada final e colocar o preço da opção.
Preço da opção de compra Black-Scholes no Excel.
Eu combino os 4 termos da fórmula de chamada para obter o preço da opção de compra na célula U44:
Black-Scholes Opção de Preço de Venda no Excel.
Eu combino os 4 termos na fórmula put para colocar o preço da opção na célula U44:
Gráficos Black-Scholes Gregos Excel.
Aqui você pode continuar para a segunda parte, que explica as fórmulas para delta, gamma, theta, vega e rho no Excel:
Ou você pode ver como todos os cálculos do Excel funcionam juntos na Calculadora Black-Scholes. Explicação das outras características da calculadora (cálculos de parâmetros e simulações de preços de opção e gregos) estão disponíveis no manual do usuário da calculadora.
Permanecendo neste site e / ou usando o conteúdo do Macroption, você confirma que leu e concorda com os Termos de Uso, da mesma forma que o assinou. O Acordo também inclui Política de Privacidade e Política de Cookies. Se você não concorda com qualquer parte deste Acordo, por favor, deixe o site agora. Todas as informações são apenas para fins educacionais e podem ser imprecisas, incompletas, desatualizadas ou claramente erradas. A Macroption não se responsabiliza por quaisquer danos resultantes do uso do conteúdo. Nenhum conselho financeiro, de investimento ou de negociação é dado a qualquer momento.

Preço de Opções: Modelo Black-Scholes.
A fórmula de Black-Scholes (também chamada Black-Scholes-Merton) foi o primeiro modelo amplamente utilizado para o preço das opções. Ele é usado para calcular o valor teórico de opções no estilo europeu usando os preços atuais das ações, dividendos esperados, o preço de exercício da opção, as taxas de juros esperadas, o prazo até o vencimento e a volatilidade esperada.
A fórmula, desenvolvida por três economistas - Fischer Black, Myron Scholes e Robert Merton - talvez seja o modelo de precificação de opções mais conhecido no mundo. Foi introduzido em seu artigo de 1973, "A precificação de opções e passivos corporativos", publicado no Journal of Political Economy. Black faleceu dois anos antes de Scholes e Merton receberem o Prêmio Nobel de Economia de 1997 por seu trabalho em encontrar um novo método para determinar o valor dos derivativos (o Prêmio Nobel não é dado postumamente; no entanto, o comitê do Nobel reconheceu o papel de Black no Modelo Black-Scholes).
O modelo de Black-Scholes faz certas suposições:
A opção é européia e só pode ser exercida no vencimento. Nenhum dividendo é pago durante a vida da opção. Os mercados são eficientes (isto é, os movimentos do mercado não podem ser previstos). Não há custos de transação na compra da opção. A taxa livre de risco e a volatilidade do subjacente são conhecidas e constantes. Os retornos do subjacente são normalmente distribuídos.
Nota: Embora o modelo original de Black-Scholes não tenha considerado os efeitos dos dividendos pagos durante a vida da opção, o modelo é freqüentemente adaptado para considerar os dividendos determinando o valor da data ex-dividendo da ação subjacente.
Fórmula Black-Scholes.
A fórmula, mostrada na Figura 4, leva em consideração as seguintes variáveis:
opções de preço subjacente atual preço de exercício até o vencimento, expresso como percentual de taxas de juros livres de risco implícitas de volatilidade de um ano.
O modelo é essencialmente dividido em duas partes: a primeira parte, SN (d1), multiplica o preço pela mudança no prêmio da chamada em relação a uma mudança no preço subjacente. Esta parte da fórmula mostra o benefício esperado da compra do direito absoluto. A segunda parte, N (d2) Ke - rt, fornece o valor atual de pagar o preço de exercício no vencimento (lembre-se, o modelo Black-Scholes se aplica a opções européias que podem ser exercidas somente no dia de vencimento). O valor da opção é calculado tomando a diferença entre as duas partes, conforme mostrado na equação.
A matemática envolvida na fórmula é complicada e pode ser intimidante. Felizmente, você não precisa saber ou mesmo entender a matemática para usar a modelagem de Black-Scholes em suas próprias estratégias. Como mencionado anteriormente, os operadores de opções têm acesso a uma variedade de calculadoras de opções on-line, e muitas das plataformas de negociação atuais possuem ferramentas robustas de análise de opções, incluindo indicadores e planilhas que realizam os cálculos e exibem os valores de precificação das opções. Um exemplo de uma calculadora Black-Scholes on-line é mostrado na Figura 5. O usuário insere todas as cinco variáveis ​​(preço de exercício, preço da ação, tempo (dias), volatilidade e taxa de juros livre de risco) e clica em "obter cotação" para exibir os resultados.

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 de 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.

No comments:

Post a Comment