O nome completo é Tōhoku, traduzido por Tōhoku Takeda. A seguir está o conteúdo reproduzido. Por favor, dê mais atenção ao "Mundo Quantificado de Milhões" e obtenha mais código-fonte estratégico! E também, um anúncio para si mesmo. Publicado em Diário Quantificado de Feijões O que você está fazendo aqui é um exemplo de como você pode fazer isso. E mais benefícios, mais você vai ter.
É só Demo! Demo! A Tia Demo! Pais, cuidado com a realidade!
Com uma boa taxa de flutuação, é tão simples ganhar BTC! Original, O Oceano, O Mundo Quantificado, Mil Mil 3 dias atrás A pesquisa e desenvolvimento de estratégias de quantificação de urânio é, na verdade, uma dupla, difícil e difícil para quem está apenas começando, difícil não só é o código no nível de urânio, mas também difícil é o pensamento lógico estratégico no nível de urânio.
Olá a todos os meus companheiros quantificadores!
Este artigo é a segunda edição do artigo exclusivo, e milhares de pessoas estão honradas em ser convidadas para o Océano Atlântico para apresentar: como usar o fator de flutuação para ganhar facilmente o BTC e alcançar a diminuição da diminuição da diminuição da diminuição da diminuição!
O conteúdo deste número abrange a revelação de ideias, a implementação de códigos e a percepção pessoal, etc., não se pode dizer que não está cheio de lixo, milhares de pessoas também se sentem beneficiadas ao ler, realmente muito admirado e agradecido a Liu.
A partir de agora, o número de pessoas que estão usando o sistema de câmbio está aumentando, e o número de pessoas que estão usando o sistema está aumentando.
01
—
Introdução
Bom dia, hoje tenho o privilégio de promover o artigo no número público de quantificação de milhares de pessoas, e também agradeço o convite do chefe T (um dos milhares de números externos).
O chefe do T diz que escrever um quantificado, mas não dá nenhum escopo, realmente não sei de onde escrever. Então comece com o seu tópico favorito para discutir com os outros. Indicadores e estratégias de quantificação (que podem ser auxiliados ou automatizados), é claro, finalmente, nós também adicionamos uma frase que os velhos costumam dizer: investir é arriscado, entrar no mercado é preciso ser cauteloso, a estratégia é apenas para fornecer idéias e lições, ganhar e perder.
A declaração de inocência terminou e aqui começa o assunto.
02
—
Uma estratégia simples de volatilidade
Quem me conhece sabe que, pessoalmente, eu não sou muito fã de jogos como o Alfa, mas comparativamente confio mais no beta, mais em pesquisas sobre o beta. Quanto ao porquê, e.........mmmmm, eu não sei.
O desenvolvimento de estratégias de quantificação é na verdade uma dupla faceta, muito difícil para quem está apenas começando, difícil não só é o código do nível da magia, mas também difícil é o pensamento lógico estratégico do nível da lógica. Ambos são importantes e não devem ser preconceituosos.
O algoritmo de estratégia usa o princípio da flutuação do rendimento de rolagem de uma queda de um certo ciclo de preços de lógica, com base nessa faixa de flutuação, para calcular o valor máximo e mínimo de rolagem de um determinado ciclo, o valor máximo como o tubo de cima, o valor mínimo como o tubo de baixo, quebrar o tubo de cima, abrir um negócio.
A interface de visualização gráfica específica pode ser consultada no PPT abaixo. O gráfico foi desenhado por ele mesmo com o Pyecharts.
Na verdade, essa estratégia é a estratégia que ele usou antes para fazer ETFs de base ampla, e, claro, também para comprar e vender ações na escolha de índices, e depois mudou diretamente para o círculo monetário, surpreso ao descobrir que realmente diminuiu o impacto, os parâmetros não precisam mudar.
O gráfico abaixo mostra o desempenho do reexame do ano, com a seguinte imagem de código lógico em partes específicas:
A parte superior é, na verdade, a leitura dos dados e a computação dos dados indicadores através dos pandas.
Após a conclusão do cálculo, pode-se exportar dados através da função pd.to_csv e visualizar a saída dos pyecharts usados no screenshot acima.
A partir de agora, a empresa está trabalhando com o projeto de um novo modelo de gestão de negócios, o que significa que o projeto está sendo desenvolvido de forma mais eficiente.
03
—
Quantificação
Primeiro, uma boa estratégia não tem medo de ser pública, não é um desenvolvimento de armas de combate a nível de guerra que decida sobre a vida ou a morte, então ele e outras instituições ou indivíduos, não têm medo de uma chamada estratégia secreta, porque, na minha opinião, a CTA não tem segredos.
Segundo: Muitas pessoas, sejam novas ou já iniciantes, ou mesmo jogadores antigos, precisam de fontes de inspiração, incluindo a exploração de fatores de ações, ideias de estratégias de tempo, etc., que geralmente são provenientes de experiências subjetivas, relatórios de pesquisa, intercâmbio de comunicação no círculo, etc.
Para concluir, a quantificação era um produto vindouro, o comércio programático pertencia a um subconjunto de quantificação, já na universidade (cerca de 2009), quando a programação, como TB, pirâmide, etc., já estava sendo caçada, e se continuasse hoje, pode-se dizer que essa parte dos primeiros profetas de previsão já tinha 10 anos, não incluindo aqueles que traziam estratégias e sistemas de alta frequência de Wall Street. Portanto, a estratégia de quantificação ou a estratégia de programação na China já existe há algum tempo, mas no círculo atual de participação de mercado e atores e apoios políticos, a quantificação ainda é uma parte muito pequena, apesar de muitos estudos com análises e modelos estratégicos.
Para terminar, agradeço a quantidade de pessoas que me confiaram e me convidaram para escrever um artigo. Se você tem alguma questão específica de código ou estratégia, envie um e-mail para mim ou para o T-Bone, que também está no grupo do T-Bone.
E, finalmente, mais uma vez, obrigado pela excelente explicação!
Os amigos que ainda não se juntaram ao grupo de discussão quantitativa podem entrar rapidamente e obter informações!
O edifício do milhares de torcedores!
O WeChat limpou A preocupação com o número público
/*backtest start: 2019-04-18 00:00:00 end: 2020-04-17 23:59:00 period: 15m exchanges: [{"eid":"Futures_BitMEX","currency":"XBT_USD"}] */ // 胖友们!! 实盘前请注意!! 此内容仅是吕神翻译demo, 上实盘请自行添加相关内容. // 是Demo!!! 实盘谨慎!!! // 初始化 exchange.SetContractType('XBTUSD') var vix_arr = [] var vix_ma = [] var vix_ma_up = [] var vix_ma_dw = [] var LastBarTime = 0 var isFirst = true function initVix() { records = _C(exchange.GetRecords) Log(records.length) if (records && records.length > 2 * N + 2) { // 初始化前N个vix值 for (var i = -2; i < N - 1; i++) { Bar = records[records.length - N + i] lastNbar = records[records.length - N + i - N] Vix() } } // Log("vix_arr", vix_arr.length, vix_arr) // Log("vix_ma", vix_ma.length, vix_ma) // Log("vix_ma_up", vix_ma_up.length, vix_ma_up) // Log("vix_ma_dw", vix_ma_dw.length, vix_ma_dw) } // 获取交易所信息 function UpdateInfo() { account = _C(exchange.GetAccount) pos = _C(exchange.GetPosition) records = _C(exchange.GetRecords) Bar = records[records.length - 1] lastNbar = records[records.length - N] ticker = _C(exchange.GetTicker) } // 计算波动率及上下轨 function Vix() { // 当每K结束时计算 if (LastBarTime !== Bar.Time) { // 当K达到计算根数开始计算vix_arr if (records && records.length > N) { // 获取vix 当前close自然对数 除以 前90根自然对数 减一 vix = Math.log(Bar.Close) / Math.log(lastNbar.Close) - 1 vix_arr.push(vix) //Log("vix_arr", vix_arr) } // 当vix_arr达到计算根数时开始计算vix_ma if (vix_arr && vix_arr.length > N) { // 获取对应周期vix算其移动平均值 vix_ma = TA.MA(vix_arr, N) // 去除ma中的null值 vix_ma = vix_ma.filter(function(val) { return !(!val || val === ""); }) //Log("vix_ma", vix_ma) // 获取上下通道 vix_up = TA.Highest(vix_arr, N) vix_dw = TA.Lowest(vix_arr, N) vix_ma_up.push(vix_up) vix_ma_dw.push(vix_dw) // Log("vix_ma_up", vix_ma_up) //Log("vix_ma_dw", vix_ma_dw) // 限制所有数组长度 if (vix_arr.length > 2000) { vix_arr.splice(0, 1); } if (vix_ma.length > 2000) { vix_ma.splice(0, 1); } if (vix_ma_up.length > 2000) { vix_ma_up.splice(0, 1); } if (vix_ma_dw.length > 2000) { vix_ma_dw.splice(0, 1); } } LastBarTime = Bar.Time } } // 画线 function PlotMA_Kline(records, isFirst) { //$.PlotRecords(records, "K") if (isFirst) { for (var i = records.length - 1 - N; i <= records.length - 1; i++) { if (vix_ma[i] !== null) { $.PlotLine("vix_arr", vix_arr[i], records[i].Time) $.PlotLine("vix_ma", vix_ma[i], records[i].Time) $.PlotLine("vix_ma_up", vix_ma_up[i], records[i].Time) $.PlotLine("vix_ma_dw", vix_ma_dw[i], records[i].Time) } } PreBarTime = records[records.length - 1].Time } else { if (PreBarTime !== records[records.length - 1].Time) { $.PlotLine("vix_arr", vix_arr[vix_arr.length - 2], records[records.length - 2].Time) $.PlotLine("vix_ma", vix_ma[vix_ma.length - 2], records[records.length - 2].Time) $.PlotLine("vix_ma_up", vix_ma_up[vix_ma_up.length - 2], records[records.length - 2].Time) $.PlotLine("vix_ma_dw", vix_ma_dw[vix_ma_dw.length - 2], records[records.length - 2].Time) PreBarTime = records[records.length - 1].Time } $.PlotLine("vix_arr", vix_arr[vix_arr.length - 1], records[records.length - 1].Time) $.PlotLine("vix_ma", vix_ma[vix_ma.length - 1], records[records.length - 1].Time) $.PlotLine("vix_ma_up", vix_ma_up[vix_ma_up.length - 1], records[records.length - 1].Time) $.PlotLine("vix_ma_dw", vix_ma_dw[vix_ma_dw.length - 1], records[records.length - 1].Time) } } // 交易逻辑 function onTick() { // 无仓位时 if (pos.length == 0) { // Long 当前K线的收盘价 > 上轨 && 之前K线的收盘价 <= 上轨 if (vix_arr[vix_arr.length - 1] > vix_ma_up[vix_ma_up.length - 1] && vix_arr[vix_arr.length - 2] <= vix_ma_up[vix_ma_up.length - 2]) { exchange.SetDirection("buy") exchange.Buy(ticker.Sell, Amount) $.PlotFlag(new Date().getTime(), 'Buy', 'BK') } // Short 当前K线的收盘价 < 下轨 && 之前K线的收盘价 >= 下轨 if (vix_arr[vix_arr.length - 1] < vix_ma_dw[vix_ma_dw.length - 1] && vix_arr[vix_arr.length - 2] >= vix_ma_dw[vix_ma_dw.length - 2]) { exchange.SetDirection("sell") exchange.Sell(ticker.Buy, Amount) $.PlotFlag(new Date().getTime(), 'Sell', 'SK') } } // 多仓时 if (pos.length > 0 && pos[0].Type == 0) { // 平多 当前K线的收盘价 < 中轨 && 之前K线的收盘价 >= 中轨 if (vix_arr[vix_arr.length - 1] < vix_ma[vix_ma.length - 1] && vix_arr[vix_arr.length - 2] >= vix_ma[vix_ma.length - 2]) { exchange.SetDirection("closebuy") exchange.Sell(ticker.Buy, pos[0].Amount) $.PlotFlag(new Date().getTime(), 'Sell', 'SBK') } } // 空仓时 if (pos.length > 0 && pos[0].Type == 1) { // 平空 当前K线的收盘价 > 中轨 && 之前K线的收盘价 <= 中轨 if (vix_arr[vix_arr.length - 1] > vix_ma[vix_ma.length - 1] && vix_arr[vix_arr.length - 2] <= vix_ma[vix_ma.length - 2]) { exchange.SetDirection("closesell") exchange.Buy(ticker.Sell, pos[0].Amount) $.PlotFlag(new Date().getTime(), 'Buy', 'PSK') } } } function main() { initVix() while (1) { UpdateInfo() Vix() onTick() if (records) { PlotMA_Kline(records, isFirst) //Log('画线') isFirst = false } Sleep(5 * 1000) } }
Inventor de quantificaçãoEu vou atravessar https://www.fmz.com/strategy/361827
RootmeAs feijões são bonitas.
Um chá preto.Essa estratégia parece não ter muita relação com a volatilidade.
homilhaEu não posso descrever a taxa de oscilação, apenas a relação de amplitude de oscilação, exceto a de 90 ciclos atrás. O método de abertura do HH, LL é a operação do DC do canal de Dongcheng, que usa uma estratégia uniforme; em geral, é um sistema de maré melhorado. A volatilidade implícita é algo que os profissionais podem descrever.
Nuvens levesMinha irmã, você vai pegar a mala?
DesconfortávelVocê me pergunta se eu não apoio, eu certamente apoio.
DesconfortávelVocê me pergunta se eu não apoio, eu certamente apoio.
Nuvens levesMuito bem.
Feijão-verdeA estimativa é de que o próximo semestre esteja vazio.
Nuvens levesNão, não, não, não.
Feijão-verdeNão, não, não.
Feijão-verdeNão tenho tempo para pensar no futuro, mas eu não sou muito bom a programar, é isso, ou não posso usar a série. / ((Ooooooooo) /~~