• 1
  • 2
2024-07-18, 23:59
  #1
Medlem
Hej! Vet inte om ngon kan hjlpa mig eller om problemet r ohjlpligt:-) men jag skulle vilja ha exempel p makrokod att kra i Libreoffice som hmtar aktuell aktiekurs. Jag har en API kod (fins gratis att hmta p alphavantage om nu ngon r intreserad) Alternativt hmta aktiekursen frn ex:vis Dagens Industri. Fr att frtydliga jag vill att det i kalkylarket ser ut s hr A1 = Aktiens namn (Matar jag in sjlv) B1 i den cellen krs makrot och hmtar aktuell aktiekurs
Citera
2024-07-19, 00:04
  #2
Medlem
Enterprises avatar
Jag har genom ren kmpat med Libreoffice och dess uselt dokumenterade skript-API.
Jag kan nstan garantera att det r betydligt enklare att gra ett vanligt Python-skript som hmtar data frn APIt och sparar i CSV-format som kan lsas av Calc.

Fr du tnker vl inte anvnda Calc som ngon slags realtidsinformation?

Ett annat frslag r Google Sheet som har utmrkt server-skripting i form av Google Apps Script.
Citera
2024-07-19, 00:05
  #3
Medlem
SimonSesss avatar
Detta kan gras p 10 sekunder i Excel. Excel r gratis precis som LibreOffice.
Citera
2024-07-19, 00:10
  #4
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av SimonSess
Detta kan gras p 10 sekunder i Excel. Excel r gratis precis som LibreOffice.
Fungerar aktiepris-funktionerna i gratisversionen (Excel-online)? Edit: Verkar inte som det Important: The STOCKHISTORY function requires a Microsoft 365 Personal, Microsoft 365 Family, Microsoft 365 Business Standard, or Microsoft 365 Business Premium subscription.
__________________
Senast redigerad av Enterprise 2024-07-19 kl. 00:12.
Citera
2024-07-19, 00:13
  #5
Medlem
SimonSesss avatar
Citat:
Ursprungligen postat av Enterprise
Fungerar aktiepris-funktionerna i gratisversionen (Excel-online)?
Japp! Jag anvnder endast Excel-online och har en kalkyl fr aktier.
Citera
2024-07-19, 00:14
  #6
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av SimonSess
Japp! Jag anvnder endast Excel-online och har en kalkyl fr aktier.
Vilken formel?
Citera
2024-07-19, 00:16
  #7
Medlem
Nix inte som realtidsinformation utan mer koll. Alts jag har ett kalkylblad dr jag har inkpspriset utdelning och fr d ut % vinst/frlust. Som det r nu, s mste jag mata in aktuell kurs fr hand om jag vill hlla detta uppdaterat, det r just det jag vill slippa - inget stort besvr men om man kunde automatisera det s vore ju det bra :-) Jag vill inte anvnda ngon molnbaserad tjnst som Google eller Office :-)
Citera
2024-07-19, 00:18
  #8
Medlem
SimonSesss avatar
Citat:
Ursprungligen postat av Enterprise
Vilken formel?
Googla!
Citera
2024-07-19, 06:35
  #9
Moderator
Protons avatar
Webbutveckling och javascript --> Systemutveckling
/Moderator
Citera
2024-07-19, 08:47
  #10
Medlem
Enterprises avatar
Citat:
Ursprungligen postat av SimonSess
Googla!
Jag vilken formel som fungerar p vanliga Excel, bara det att det str dr att den krver abonnemang.
Nr jag skapade ett gratiskonto utan abonnemang enkom fr att testa str det #BLOCKERAD nr man anvnder formeln Aktiehistorik().
Vilket tyder p att abonnemang krvs. Men upplys oss grna, googlare.
Citera
2024-07-19, 09:15
  #11
Medlem
Enterprises avatar
Fr den som laddar ned en API-nyckel och vill ska p tickers:

Kod:
import requests
key = 'ANGE-DIN-API-NYCKEL HR'

sWord = input("Ange skord fr att hitta ticker:")
url = f"https://www.alphavantage.co/query?function=SYMBOL_SEARCH&keywords={sWord}&apikey={key}"

r = requests.get(url)
data = r.json()
bestmatches = data["bestMatches"]

if len(bestmatches) < 1:
	print(f"Inga tickers funna fr {sWord}.")
	exit()

for (ix,bestmatch) in enumerate(bestmatches):
	name = bestmatch["2. name"]
	ticker = bestmatch["1. symbol"]
	print(f"Ticker nr {ix+1}")
	print(f"Namn: {name}")
	print(f"Ticker: {ticker}")
	print("")

Jag ska se om jag hinner gra ett frslag p Python-kod fr att hmta ut en CSV fil med kurser frn utvalda Tickers ocks.
__________________
Senast redigerad av Enterprise 2024-07-19 kl. 09:18.
Citera
2024-07-19, 09:55
  #12
Medlem
Enterprises avatar
Hr r en extremt enkel variant som hmtar de 100 senaste dagarnas kurser (ppning, stngning, hgst, lgsta, volym) fr de tickers som anvndaren vljer. Tickers sks med koden i fregende post. Datan sparas i en CSV fil som kan ppnas I LibreCalc

Kod:
#!/usr/bin/env python3

import requests
import csv
from datetime import datetime

key = 'DIN-API-NYCKEL'

tickerString = input("Ange en eller flera tickers (med mellanslag emellan): ").upper()
tickers = tickerString.split()

current_date = datetime.now().strftime("%Y-%m-%d")
csv_filename = f"stock_data_{current_date}.csv"

with open(csv_filename, 'w', newline='') as csvfile:
    csvwriter = csv.writer(csvfile)
    
    csvwriter.writerow(['Ticker', 'Date', 'Open', 'High', 'Low', 'Close', 'Volume'])
    
    for ticker in tickers:
        url = f"https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol={ticker}&apikey={key}"
        r = requests.get(url)
        data = r.json()
        
        if "Error Message" in data:
            print(f"Ticker {ticker} hittades inte.")
            continue
        else:
            print(f"Ticker {ticker} hittades och data sparas i CSV-filen.")
            
            time_series = data.get("Time Series (Daily)", {})
            
            for date, values in time_series.items():
                csvwriter.writerow([
                    ticker,
                    date,
                    values.get("1. open", ""),
                    values.get("2. high", ""),
                    values.get("3. low", ""),
                    values.get("4. close", ""),
                    values.get("5. volume", "")
                ])

print(f"Data har sparats i filen: {csv_filename}")
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in