Página 1 de 1
Criação de site (ideias)
Enviado: 08 nov 2022 18:42
por Virtua
Partilhem aqui ideias, código APIs e coisas interessantes.
Se sabem programar tudo bem, se não sabem façam o esquema que eu programo. Os dados que gostariam de ter acesso e visualização, as API ou paginas onde sacar esses dados e até como gostariam de os ver.
Vamos em frente comunidade, vamos em frente!!
Criação de site (ideias)
Enviado: 08 nov 2022 19:13
por 00ba
Virtua Escreveu: ↑08 nov 2022 18:42
Queria fazer uma calculadora para ver qual era a taxa dos certificados se a alteração fosse naquele momento para o pessoal poder seguir o "caminho" e tentarmos ver as possíveis próximas taxas.
Que acham?
Se alguém achar relevante eu programo, só preciso que me expliquem tim tim por tim tim os passos para eu aplicar a matemática e download de dados euribor!!
Questão:
É possível enfiar aqui no fórum Javascript? Isto claro sem teres de alterar o código original do fórum que depois se perderia com atualizações. Provavelmente desenvolver-se-ia um plugin? Estou a tentar estabelecer um paralelismo com Wordpress (que conheço superficialmente).
Aproveito este teu post, pois já me tinha ocorrido que era engraçado colocar no header os preços e variações diárias dos principais índices/commodities, sem ocupar muito espaço. Acho que se conseguiria fácil em JS, com alguma API gratuita.
Criação de site (ideias)
Enviado: 08 nov 2022 19:35
por Virtua
00ba Escreveu: ↑08 nov 2022 19:13
Virtua Escreveu: ↑08 nov 2022 18:42
Queria fazer uma calculadora para ver qual era a taxa dos certificados se a alteração fosse naquele momento para o pessoal poder seguir o "caminho" e tentarmos ver as possíveis próximas taxas.
Que acham?
Se alguém achar relevante eu programo, só preciso que me expliquem tim tim por tim tim os passos para eu aplicar a matemática e download de dados euribor!!
Questão:
É possível enfiar aqui no fórum Javascript? Isto claro sem teres de alterar o código original do fórum que depois se perderia com atualizações. Provavelmente desenvolver-se-ia um plugin? Estou a tentar estabelecer um paralelismo com Wordpress (que conheço superficialmente).
Aproveito este teu post, pois já me tinha ocorrido que era engraçado colocar no header os preços e variações diárias dos principais índices/commodities, sem ocupar muito espaço. Acho que se conseguiria fácil em JS, com alguma API gratuita.
O fórum é o fórum. Nem sei mexer nisto. Estou a planear site mesmo. Ou seja, não vamos ser um site com um fórum mas um fórum como um site
Tenho aqui os primeiros passos:
site/ (se bem que ainda estão numa pasta, não num site mesmo. Queria fazer site.forumdoinvestidor.com)
Tudo o que quiseres enviar em JS/html como um site normal envia. Se calhar fala comigo antes e combina-se mas sim, tb estou a planear muita coisa como o que disseste.
Eu até estou a fazer tudo em python. Se as pessoas me derem ideias como a que deste e fizerem os esquemas, API com a info e assim já é meio caminho andado. Nem precisam de programar nada. Facilitem-me ao máximo que eu programo. Perco mais tempo na agregação de info do que a programar quase.
O site vai ser em flask, para quem percebe de python sabe o que é

lê JS e HTML perfeitamente!!
Criação de site (ideias)
Enviado: 08 nov 2022 19:47
por 00ba
Boa!
Eu conheço Flask, assim por alto. Já fiz uma brincadeira ou outra. No fundo já percebo como funciona o template engine jinja e conheço python também superficialmente, mas estou minimamente à vontade para ir pesquisando e implementando uma coisa ou outra (viva ao stackoverflow xD).
Não me importo nada de contribuir, dentro das minhas limitações. Vai-se organizando por aqui, ou outro canal de comunicação?
Re: Certificados Aforro
Enviado: 08 nov 2022 19:51
por Virtua
Por aqui, mas noutro tópico. Vou criar um tópico!!
Criação de site (ideias)
Enviado: 08 nov 2022 19:53
por Virtua
...
Criação de site (ideias)
Enviado: 08 nov 2022 22:29
por Virtua
00ba Escreveu: ↑08 nov 2022 19:47
Boa!
Eu conheço Flask, assim por alto. Já fiz uma brincadeira ou outra. No fundo já percebo como funciona o template engine jinja e conheço python também superficialmente, mas estou minimamente à vontade para ir pesquisando e implementando uma coisa ou outra (viva ao stackoverflow xD).
Não me importo nada de contribuir, dentro das minhas limitações. Vai-se organizando por aqui, ou outro canal de comunicação?
A calculadora de certificados de aforro provavelmente vai ser em Vue.js por isso vez que não estás limitado a flask nem python. Se tem HTML e JS pode ir para o site. Mas tudo em front-end pk estou a planear um site estático.
Vue liga fácil porque tem CDN, não sei se algo como react ligaria tão bem!! Mas vanilla JS estás à vontade
CSS vai ser em tailwinds!!
Re: Criação de site (ideias)
Enviado: 09 nov 2022 02:23
por 00ba
Entretanto fui vendo e escrevi este script no google colab.
Está em python e faz scrape ao
E3M, pois não encontrei API's abertas.
Não sei como faria esta parte em front-end.
O script também calcula os retornos dos CA's, mas isso já podia ser em front end.
Se for possível correr isto no server, agendado, diariamente e guardar de alguma forma, o vue.js vai buscar esses dados estáticos?
Script
Código: Selecionar todos
import requests
from bs4 import BeautifulSoup
import statistics
# recebe: 10 ultimas taxas
# retorna: Taxas para as 3 situações, ano 1, anos 2 a 5 (+0,5%), anos 6 a 10(+1%)
def cert_aforro(e3m):
#media ultimas 10 E3M + 1%
taxaCa = statistics.mean(e3m) + 1
#ano 1, anos 2 a 5 (+0,5%), anos 6 a 10(+1%)
taxas_ca = [taxaCa, taxaCa + 0.5, taxaCa + 1]
return [round(max(min(v,3.5),0),3) for v in taxas_ca] # de 0% a 3,5%
#scrape
url = "https://www.euribor-rates.eu/en/current-euribor-rates/2/euribor-rate-3-months/"
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
#array com [data, taxa], últimos 10 dias + meses + anos, cron inv
e_html = soup.find_all('td')
#remover tags
euribors = [el.get_text() for el in e_html]
e3m_daily = euribors[0:20]
#taxas (indice impar)
values = [float(v.split(" ")[0]) for i, v in enumerate(e3m_daily) if i % 2 != 0]
#ano 1, anos 2 a 5, anos 6 a 10
print("anos 1 , 2 a 5 , 6 a 10")
print(cert_aforro(values))
Output
Talvez isto seja um bom ponto de partida para ir buscar os dados históricos caso se pretenda.
Re: Criação de site (ideias)
Enviado: 09 nov 2022 10:19
por JRJordao
00ba Escreveu: ↑09 nov 2022 02:23
faz scrape ao
E3M, pois não encontrei API's abertas
Descobri este feed do
Bank of Finland
Indicar a data de início após "StartDate,"
Código: Selecionar todos
https://www.suomenpankki.fi/WebForms/ReportViewerPage.aspx?report=/tilastot/markkina-_ja_hallinnolliset_korot/euribor_korot_xml_short_en&output=xml¶ms=SeriesName,D.EURIBOR3;StartDate,25.10.2022+0.00.00
Resultado:
https://www.suomenpankki.fi/WebForms/Re ... 22+0.00.00
A ordem dos valores pode ser controlada com o parâmetro
SortOrder: A (ascending) ou D (descending)
Re: Criação de site (ideias)
Enviado: 09 nov 2022 11:21
por Virtua
00ba Escreveu: ↑09 nov 2022 02:23
Entretanto fui vendo e escrevi este script no google colab.
Está em python e faz scrape ao
E3M, pois não encontrei API's abertas.
Não sei como faria esta parte em front-end.
O script também calcula os retornos dos CA's, mas isso já podia ser em front end.
Se for possível correr isto no server, agendado, diariamente e guardar de alguma forma, o vue.js vai buscar esses dados estáticos?
Script
Código: Selecionar todos
import requests
from bs4 import BeautifulSoup
import statistics
# recebe: 10 ultimas taxas
# retorna: Taxas para as 3 situações, ano 1, anos 2 a 5 (+0,5%), anos 6 a 10(+1%)
def cert_aforro(e3m):
#media ultimas 10 E3M + 1%
taxaCa = statistics.mean(e3m) + 1
#ano 1, anos 2 a 5 (+0,5%), anos 6 a 10(+1%)
taxas_ca = [taxaCa, taxaCa + 0.5, taxaCa + 1]
return [round(max(min(v,3.5),0),3) for v in taxas_ca] # de 0% a 3,5%
#scrape
url = "https://www.euribor-rates.eu/en/current-euribor-rates/2/euribor-rate-3-months/"
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
#array com [data, taxa], últimos 10 dias + meses + anos, cron inv
e_html = soup.find_all('td')
#remover tags
euribors = [el.get_text() for el in e_html]
e3m_daily = euribors[0:20]
#taxas (indice impar)
values = [float(v.split(" ")[0]) for i, v in enumerate(e3m_daily) if i % 2 != 0]
#ano 1, anos 2 a 5, anos 6 a 10
print("anos 1 , 2 a 5 , 6 a 10")
print(cert_aforro(values))
Output
Talvez isto seja um bom ponto de partida para ir buscar os dados históricos caso se pretenda.
1
Eu para scrapping uso a função do pandas para ir buscar quadros. Normalmente consigo ir buscar que quero (se for um quadro LOL). Fui buscar os últimos 10 dias a
https://www.euribor-rates.eu/en/current ... -3-months/
Código: Selecionar todos
import pandas as pd
url = 'https://www.euribor-rates.eu/en/current-euribor-rates/2/euribor-rate-3-months/'
data = pd.DataFrame(pd.read_html(url)[0]).replace('%', '', regex=True)
data[0] = pd.to_datetime(data[0])
data[1] = data[1].astype(float)
data.index = data[0]
data = data[[1]]
2
Para dados históricos em API o Quandl (agora comprado pela Nasdaq) é o ideal:
Uma simples pesquisa por euribor dá o data warehouse do BCE e a API do Bank of England Official Statistics
https://data.nasdaq.com/search?query=euribor
(Mesmo no fundo porque eles no início colocam os premium

)
3
Se for possível correr isto no server, agendado, diariamente e guardar de alguma forma, o vue.js vai buscar esses dados estáticos?
Vai sim. É colocar os dados em JSON numa página e o Vue vai ler

É como vou fazer.
O front end (que eu estou a imaginar em Vue devido à simplicidade de fazer cálculos vindo de inputs em JS e depois automaticamente colocar em outputs reactivos) seria uma calculadora mesmo.
Diz a taxa actual, diz a taxa teórica nova e a pessoa tem de escolher uma, tem um input de montante, um input a questionar se a pessoa tem bónus de permanência e calcula o valor a ganhar nos próximos 3 meses. Isto funciona bem para novas subscrições. Não vou apanhar subscrições antigas.
Bom para se vale a pena esperar por exemplo e a direção das taxas!!
Se têm outra ideia apitem.
Re: Criação de site (ideias)
Enviado: 09 nov 2022 12:23
por 00ba
Bem, pelo menos deu para me aventurar a usar o Beautiful Soup. Agora, nota-se claramente quem percebe disto ou não xD.
Isso do Panda e Dataframes é realmente potente.
O que o @JRJordão postou parece-me uma boa alternativa ao scrapping, e não se fica dependente do site não fazer alterações à DOM.
Deixo aqui,
https://www.igcp.pt/pt/menu-lateral/cer ... uro-anual/, pode ser útil.
Re: Criação de site (ideias)
Enviado: 10 nov 2022 13:03
por JRJordao
JRJordao Escreveu: ↑09 nov 2022 10:19
Descobri este feed do
Bank of Finland
Indicar a data de início após "StartDate,"
Código: Selecionar todos
https://www.suomenpankki.fi/WebForms/ReportViewerPage.aspx?report=/tilastot/markkina-_ja_hallinnolliset_korot/euribor_korot_xml_short_en&output=xml¶ms=SeriesName,D.EURIBOR3;StartDate,25.10.2022+0.00.00
Resultado:
https://www.suomenpankki.fi/WebForms/Re ... 22+0.00.00
A ordem dos valores pode ser controlada com o parâmetro
SortOrder: A (ascending) ou D (descending)
Experimentei usar
output=csv (em vez de xml) e funcionou. No browser devolve um ficheiro Data.csv.
Também podem usar essa abordagem mais old-school

Resultado:
https://www.suomenpankki.fi/WebForms/Re ... 22+0.00.00
Re: Criação de site (ideias)
Enviado: 15 nov 2022 21:23
por Virtua
O site vai sendo feito no meu tempo livre
Navbar com logo "tratado" pelo @hfilipe
Podem ver o caminho que pretendemos levar no futuro próximo.
https://sitedoinvestidor.pt/
Re: Criação de site (ideias)
Enviado: 15 nov 2022 21:45
por D@emoon
Grande pinta

Re: Criação de site (ideias)
Enviado: 21 jan 2023 17:57
por Virtua
A partir de agora o anuncio aqui no fórum vai estar sempre ligado com as mais recentes novidades da comunidade, seja no fórum ou no site etc etc. Coloquei a cor para se alinhar com o resto do fórum e não ser intrusivo.