=> Novo sub-forum com as carteiras da comunidade aqui: Carteiras da comunidade

Criação de site (ideias)

O fórum é novo e da comunidade. Falta algo? Avisem. Têm uma ideia boa? Partilhem!
Responder
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Criação de site (ideias)

Mensagem 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!!
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Avatar do Utilizador
00ba
Mensagens: 26
Registado: 04 out 2022 12:09
Has thanked: 5 times
Been thanked: 10 times

Criação de site (ideias)

Mensagem 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.
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Criação de site (ideias)

Mensagem 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 :lol:

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!!
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Avatar do Utilizador
00ba
Mensagens: 26
Registado: 04 out 2022 12:09
Has thanked: 5 times
Been thanked: 10 times

Criação de site (ideias)

Mensagem 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?
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Re: Certificados Aforro

Mensagem por Virtua »

Por aqui, mas noutro tópico. Vou criar um tópico!!
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Criação de site (ideias)

Mensagem por Virtua »

...
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Criação de site (ideias)

Mensagem 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!!
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Avatar do Utilizador
00ba
Mensagens: 26
Registado: 04 out 2022 12:09
Has thanked: 5 times
Been thanked: 10 times

Re: Criação de site (ideias)

Mensagem 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

Código: Selecionar todos

anos 1 , 2 a 5 , 6 a 10
[2.678, 3.178, 3.5]
Talvez isto seja um bom ponto de partida para ir buscar os dados históricos caso se pretenda.
Avatar do Utilizador
JRJordao
Mensagens: 854
Registado: 04 out 2022 12:11
Has thanked: 251 times
Been thanked: 407 times

Re: Criação de site (ideias)

Mensagem 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&params=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)
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Re: Criação de site (ideias)

Mensagem 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

Código: Selecionar todos

anos 1 , 2 a 5 , 6 a 10
[2.678, 3.178, 3.5]
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.
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Avatar do Utilizador
00ba
Mensagens: 26
Registado: 04 out 2022 12:09
Has thanked: 5 times
Been thanked: 10 times

Re: Criação de site (ideias)

Mensagem 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.
Avatar do Utilizador
JRJordao
Mensagens: 854
Registado: 04 out 2022 12:11
Has thanked: 251 times
Been thanked: 407 times

Re: Criação de site (ideias)

Mensagem 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&params=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
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Re: Criação de site (ideias)

Mensagem 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/
Anexos
Capturar.PNG
Capturar.PNG (30.4 KiB) Visto 4653 vezes
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Avatar do Utilizador
D@emoon
Mensagens: 2145
Registado: 03 out 2022 16:41
Localização: Lisboa
Has thanked: 496 times
Been thanked: 536 times

Re: Criação de site (ideias)

Mensagem por D@emoon »

Grande pinta 💪
Links: Site do Investidor // App Backtester "O risco vem de não saber o que se está a fazer" - Warren Buffett

Não enviem mensagens privadas, exponham as dúvidas com a comunidade!
Avatar do Utilizador
Virtua
Mensagens: 1740
Registado: 03 out 2022 16:36
Has thanked: 592 times
Been thanked: 715 times

Re: Criação de site (ideias)

Mensagem 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.
Links: Site do investidor || Apps do investidor //"Know thyself, nothing to excess, certainty brings ruin."
Responder