CommunityEscrita e Ediçãogithub.com

TqSdk Trading and Data

Explique, implemente ou depure fluxos de trabalho TqSdk em Python para loops de atualização wait_update ou is_changing, recuperação de dados de mercado, download histórico, seleção de tipo de conta, consulta de fundos, posições, ordens ou negociações, significados de campos, colocação ou cancelamento de ordens, ferramentas de posição-alvo, simulações de margem com TqScenario, consulta de taxa de margem em contas reais, análise de margem ou índice de risco hipotética, simulação, backtest e erros comuns do TqSdk. Use quando uma solicitação mencionar TqSdk, TqApi, TqAuth, TqAccount, TqKq, TqKqStock, TqSim, TqSimStock, TqMultiAccount, TqBacktest, TqScenario, TargetPosTask, TargetPosScheduler, DataDownloader, taxa de margem, cálculo de margem, índice de risco, simulação de cenário, dados de mercado, K-line, tick, dados históricos, posições, negociações, ordens, dados de conta, colocação de ordens, cancelamento, ajuste de posição, significados de campos, wait_update, depuração, 行情, K线, 历史数据, 保证金率, 保证金, 风控度, 场景试算, 持仓, 成交, 委托.

O que é TqSdk Trading and Data?

Esta skill fornece orientação especializada para a biblioteca TqSdk, um framework Python para trading algorítmico em futuros e ações chinesas. Ela ajuda desenvolvedores a entender e implementar corretamente loops de atualização com wait_update(), recuperar dados de mercado (cotações, K-lines, ticks), selecionar o tipo de conta apropriado (real, simulação, estoque, futuros) e realizar operações de trading completas, incluindo colocação e cancelamento de ordens, gestão de posições-alvo com TargetPosTask e execução de simulações de margem com TqScenario. A skill é baseada em uma documentação detalhada que cobre desde conceitos fundamentais até tópicos avançados, como cálculo de margem e análise de risco hipotética, sempre com foco em exemplos práticos e snippets executáveis. Ela suporta múltiplos modos de operação (local sim, Quick sim, backtest) e distingue claramente entre os fluxos de trabalho de futuros e ações, garantindo que o código gerado seja preciso e adequado ao contexto do usuário. A abordagem é orientada a roteamento: dependendo da dúvida do usuário, a skill indica a leitura de um documento de referência específico, garantindo respostas concisas e relevantes.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/shinny-xuyida/tqsdk-agent-skills/tree/main/skills/tqsdk-trading-and-data

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que TqSdk Trading and Data faz?

Use esta skill para responder perguntas sobre TqSdk com as APIs, documentos e exemplos reais do repositório. Prefira snippets executáveis mínimos, mantenha o comportamento de futuros e ações separado e explique o loop de atualização explicitamente sempre que o problema do usuário depender de wait_update().

Roteie a Solicitação Primeiro

Leia apenas as referências necessárias para a pergunta do usuário.

  1. Leia references/wait-update-and-update-loop.md para wait_update, is_changing, deadline, notificações de atualização assíncrona, ressalvas do Jupyter ou questões de progressão em backtest.
  2. Leia references/market-data.md para get_quote, get_kline_serial, get_tick_serial, descoberta de contratos, metadados de símbolos e DataDownloader.
  3. Leia references/account-type-matrix.md para TqAccount, TqKq, TqKqStock, TqSim, TqSimStock, classes de conta OTG e TqMultiAccount.
  4. Leia references/accounts-and-trading.md para getters de conta, posição, ordem e negociação, além de padrões de getter multi-conta.
  5. Leia references/scenario-and-margin.md para TqScenario, consulta de taxa de margem em conta real, cálculo de ocupação de margem, análise de índice de risco hipotética e regras limitadas de desconto de margembuilt-in.
  6. Leia references/order-functions-and-position-tools.md para insert_order, cancel_order, TargetPosTask, support_open_min_volume, TargetPosScheduler e auxiliares avançados de execução.
  7. Leia references/object-fields.md quando o usuário perguntar sobre o significado dos campos em Quote, linhas de K-line ou tick, Account, Position, Order, Trade ou suas variantes de ações.
  8. Leia references/simulation-and-backtest.md para simulação local, Quick sim, simulação de ações, backtest e limites de backtest entre contas.
  9. Leia references/error-faq.md quando o usuário perguntar sobre falhas comuns do TqSdk, comportamento confuso ou mensagens de exceção.
  10. Leia references/example-map.md quando quiser um exemplo ou página de documentação do repositório para imitar.

Regras Principais

  1. Trate resultados de get_* como referências ativas, não snapshots. Explique que elas são atualizadas durante wait_update().
  2. Explique wait_update() sempre que o usuário estiver confuso com dados faltantes, campos desatualizados, ordens que não saem do cliente ou TargetPosTask que não age.
  3. Diferencie fluxos de trabalho de futuros e ações:
    • Contas e objetos de futuros usam Account, Position, Order, Trade.
    • Contas e objetos de ações usam SecurityAccount, SecurityPosition, SecurityOrder, SecurityTrade.
    • Trading de ações não usa offset, e TargetPosTask não é para trading de ações.
  4. Escolha o tipo de conta antes de escrever código. Não use TqKq ou TqAccount como padrão a menos que o usuário realmente precise desse modo de conta.
  5. No modo multi-conta, passe account= para getters e chamadas de trading, ou use os métodos próprios do objeto de conta: get_account, get_position, get_order e get_trade.
  6. Para exemplos de mercado atual, evite contratos expirados. Prefira APIs de descoberta de contratos ou símbolos de contrato principal.
  7. Quando o usuário perguntar sobre significados de campos, explique primeiro o menor conjunto relevante de campos e informe se o objeto é de futuros ou ações.
  8. Quando o usuário solicitar longos intervalos históricos, prefira DataDownloader em vez de fingir que get_kline_serial é uma API de histórico ilimitado.
  9. Quando o usuário solicitar execução avançada, prefira primeiro os helpers públicos:
    • TargetPosTask para posição líquida alvo.
    • TargetPosTask(..., support_open_min_volume=True) apenas para contratos com regras de tamanho mínimo de abertura da bolsa, quando a conclusão aproximada for aceitável.
    • TargetPosScheduler combinado com twap_table ou vwap_table de tqsdk.algorithm para execução programada.
    • Mencione InsertOrderTask e InsertOrderUntilAllTradedTask como helpers internos ou avançados, não como resposta padrão.
  10. Use TqScenario para simulações síncronas de margem e risco hipotéticas, não para colocação de ordens ao vivo. É exclusivo para futuros, conta única e atualiza o snapshot da simulação imediatamente após cada chamada.
  11. Explique a origem da taxa de margem em cada resposta com TqScenario:
    • account=None ou TqSim() usa dados de margem de Quote.
    • TqAccount(...) ou TqKq() consulta taxas específicas da conta de forma síncrona e pode recorrer à margem de Quote se a consulta falhar.
  12. Trate descontos de margem de forma conservadora. Reutilize um único objeto TqScenario para ações de simulação passo a passo e não prometa regras preferenciais específicas de corretoras além das regras limitadas modeladas pelo TqSdk.
  13. Preserve as semânticas de fechamento específicas da bolsa em TqScenario. Para futuros da SHFE ou INE, mantenha CLOSE versus CLOSETODAY consistente com o snapshot de posição importado.

Estilo de Resposta

  • Prefira imports de tqsdk.__init__ para APIs de alto nível. Quando uma API estiver documentada em um submódulo, use o caminho oficial do submódulo, como tqsdk.tools ou tqsdk.algorithm.
  • Prefira blocos de código curtos e corretos em vez de pseudo-código amplo.
  • Nomeie a API exata que o usuário deve chamar em seguida.
  • Se o comportamento diferir em trading ao vivo, Quick sim, simulação local, simulação de ações ou backtest, diga isso explicitamente.
  • Se a resposta depender de uma armadilha comum, mencione a armadilha diretamente em vez de enterrá-la em exemplos.
  • Se a resposta usar TqScenario, diga qual snapshot vai para positions, qual saldo vai para init_balance e se o resultado vem da margem de cotações ou de taxas de margem específicas da conta.

Habilidades Relacionadas