Construindo uma ferramenta de previsão de preço de ações em JavaScript
Introdução
Ferramentas de previsão de preços de ações ajudam investidores a tomar decisões informadas, analisando dados históricos e prevendo tendências futuras. Este guia explica como criar uma ferramenta simples usando JavaScript, APIs e bibliotecas de gráficos como Chart.js.
Características
- Obtenha dados de ações em tempo real e históricos de APIs.
- Visualize tendências de preços de ações usando um gráfico interativo.
- Preveja preços futuros de ações com um modelo básico de regressão linear.
Implementação
1. Estrutura HTML
O HTML fornece uma interface limpa para a ferramenta. Inclui um campo de entrada para o símbolo da ação, um botão para buscar dados e um elemento de tela para o gráfico.
<!DOCTYPE html>
<html>
<head>
<title>Stock Price Prediction</title>
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
</head>
<body>
<div>
<h1>Stock Price Prediction</h1>
<input id="stockSymbol" placeholder="Enter Stock Symbol">
<button onclick="fetchStockData()">Fetch Data</button>
<canvas id="stockChart"></canvas>
<h2>Preço previsto: <span id="predictedPrice">-</span></h2>
</div>
</corpo>
</html>
2. Lógica JavaScript
O JavaScript busca dados de uma API de ações (por exemplo, Alpha Vantage), exibe-os em um gráfico e prevê o preço do dia seguinte usando um modelo de regressão linear simples.
const apiKey = 'YOUR_API_KEY'; // Replace with your API key
const apiUrl = 'https://www.alphavantage.co/query';
async function fetchStockData() {
const stockSymbol = document.getElementById('stockSymbol').value;
const response = await fetch(\`\${apiUrl}?function=TIME_SERIES_DAILY_ADJUSTED&symbol=\${stockSymbol}&apikey=\${apiKey}\`);
const data = await response.json();
const timeSeries = data['Time Series (Daily)'];
const labels = Object.keys(timeSeries).slice(0, 30).reverse();
const prices = labels.map(date => parseFloat(timeSeries[date]['4. close']));
plotStockChart(labels, prices);
predictPrice(prices);
}
função plotStockChart(rótulos, dados) {
const ctx = document.getElementById('stockChart').getContext('2d');
novo Gráfico(ctx, {
tipo: 'linha',
dados: {
rótulos,
conjuntos de dados: [{ rótulo: 'Preço das ações', dados }]
}
});
}
função predictPrice(preços) {
const n = preços.comprimento;
const x = Array.from({ comprimento: n }, (_, i) => i + 1);
const meanX = x.reduce((a, b) => a + b) / n;
const meanY = preços.reduce((a, b) => a + b) / n;
const slope = x.reduce((soma, xi, i) => soma + (xi - médiaX) * (preços[i] - médiaY), 0) /
x.reduce((soma, xi) => soma + (xi - médiaX) ** 2, 0);
const intercept = meanY - declive * meanX;
const nextPrice = inclinação * (n + 1) + interceptação;
document.getElementById('predictedPrice').textContent = nextPrice.toFixed(2);
}
3. Estilo
Use CSS básico para um design limpo e responsivo.
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
}
Conclusão
Esta ferramenta de previsão de preços de ações demonstra como buscar e visualizar dados enquanto prevê tendências usando técnicas simples de JavaScript. Você pode expandir esta ferramenta integrando modelos avançados ou APIs externas de aprendizado de máquina para previsões mais precisas.