Kontenverwaltung
Verwaltung von Depots
Um ein neues User-Depot anzulegen, finden Sie im Hauptmenü unter Depot / Neu einen entsprechenden Menüpunkt.
- Depotdateien werden mit der Endung ".Depot2" im Datenverzeichnis von SHAREholder abgelegt. So hat beispielsweise das Musterdepot den Namen "Musterdepot.Depot2".
- Das Depot kann durch ein Passwort geschützt werden und führt dazu, dass bei jedem Laden/Maximieren von SHAREholder das Kennwort abgefragt wird.
- Welches User-Depot beim Programmstart geladen wird, ist über das Hauptmenü.Einstellungen.Standarddepot festzulegen.
Anzeige und Einstellungen Depotkonten
Sie gelangen zur Kontenverwaltung über die Toolbar "Konten" oder über das Hauptmenü Einstellungen / Konten.
Kontenliste
Um ein weiteres Konto anzulegen muss auf der rechten Seite der Button "Hinzufügen" gewählt werden, danach ist sofort der Name des Kontos erfragt. Anschließend sind die Detaildaten einzupflegen.
Kontobestand
Intern wird ein sogenanntes Startkapital gespeichert. Da dieser Wert vom User aber nur sehr schwer kontrolliert werden kann, ist die Eingabe eines Kontobestandes möglich, der den internen Cashbestand des Kontos widerspiegelt. Der Anfangsbestand wird nach Neueingabe intern neu zurückgerechnet.
Unterstützte Börsenplätze
Um für den Kontenvergleich eine Datenbasis für die unterstützten Börsenplätze zu haben, kann pro Konto eine entsprechende Zuordnungsliste gepflegt werden. Die Börsenplätze selbst werden über Einstellungen / Börsen selbst gepflegt und sind anpassbar.
Unterstützte Fonds und ETF-Anbieter des Brokers
Ebenfalls für den Kontenvergleich kann die Liste der ETFS und der Fonds manuell gepflegt werden. Innerhalb von Detail-Listen kann hierzu ein Titel zugeordnet werden:
Durch einen einfachen Match-Vergleich kann so im Kontenvergleich unter Konten angezeigt werden, ob eine vergangener Trade in der Simulation so nicht unterstützt wird.
Währung
Für eine spätere Version ist die Führung von Auslandskonten vorgesehen.
Die Funktion wird in Kürze zur Verfügung stehen. Es können aktuell aber praktisch nur über die Programm-Einstellungen eine Zentral-Währung hinterlegt werden
Gebührenmodell des Kontos
Um sowohl komplizierte Modelle als auch ein Standardmodell abzubilden, gibt es praktisch ein definiertes Standardmodell und die Option auf Basis des Standardmodell vollständig programatische Berechnungen durchzuführen, die praktisch beliebig komplex sein können.
Default-Gebühren-Modell (einfaches Stufenmodell)
Die Speicherung des Gebührenmodells erfolgt immer im Staffelgebührenmodell mit Mindestprovision und Grundgebühren. Sollte das eigentlichen Modell davon abweichen, so ist leider eine manuelle Transformation vorzunehmen.
Staffelgebührenmodell bedeutet dabei, dass Wertgruppen (Von-Bis) gebildet werden mit zugehörigem Staffelprozenten. Die Prozentangaben erfolgen dabei mit Prozent/100. Der Wertebereich liegt damit zwischen 0 bis 1.
Bei den Provisionsmodell sind nur die festen Gruppen (FAX, Internet und Telefon) zulässig. Die Eingaben des Provisionsmodells erfolgen fürs Inland und Ausland getrennt. Hierzu die zugehörigen Reiter am oberen Formularrand wählen.
Die Gebührenberechnung erfolgt dabei nach folgendem Modell:
- (Internet|Telefon|Fax).Grundgebühr + Staffelprovision.Prozent
- Prüfung der Mindest/Maximalprovision auf Basis der passenden Staffelprovision
- Prüfung der (Internet|Telefon|Fax).Mindestprovision
In diesem Beispiel von DeGiro wird einfach bis 500T€ eine Provision von 0,018 berechnet bei einer Grundgebühr von 2€ für Inlandspositionen.
Dynamisches Modell
Um die Funktionsweise zu erklären hier einfach mit Kommentaren eine Beispiel-Lösung für DeGiro. Wichtig ist hier für den ersten Überblick, dass das Modell praktisch über programmierbare Funktionen vom Nutzer arbeitet. Dabei wird als Parameter immer ein pDefault-Wert übergeben, der weiterverwendet werden kann und aus dem Default-Gebühren-Modell sich ableitet. Damit ist es nicht eine entweder oder Entscheidung, sondern das einfache Gebührenmodell kann benutzt werden, soweit es SInn macht und dann ergänzt werden.
Bei der Programmierung werden praktisch 4 Kernfunktionen beschrieben:
- function getAccountFeePerYear( pDefault: Double; pAccount: TAccount; pTransactionHistory: TTransactions) : Double;
- function getTransactionFee( pDefault: Double; pAccount: TAccount; pTransaction: TTransaction; pTransactionHistory: TTransactions; pStock: TStock; pAsset: TAsset; pExchange: TStockExchange): Double;
- function getTotalCosts( pDefault: Double; pAccount: TAccount; pTransactionHistory: TTransactions): Double;
- function isSupportedStock( pDefault: Boolean; pStock: TStock; pAsset: TAsset ): Boolean;
Alle Funktionen werden für den automatischen Konto-Vergleich benutzt. Die Funktion "GetTransactionFee" auch in der Transaktionseingabe d.h. auch hier kann vollautomatisch eine saubere Transaktions-Gebühr berechnet werden.
(* DeGiro Basis-Daten
- Keine Depotführungsgebühren
- DE: Xetra: 2€ + 0,018% (Aktien)
- DE: Frankfurt: 7,5 + 0,09% (Aktien)
- US-Aktien handeln für 0,50 EURO + 0,004 USD je Aktie (Aktien)
- ETFs weltweit: 2€ + 0,03%
- U.a. Aktien, Futures, Anleihen und Optionen handelbar
*)
(* Berechnung der Depotgebühren. Wird der pDefault-Wert übernommen, dann wird 0 zurückgegeben *)
function getAccountFeePerYear( pDefault: Double; pAccount: TAccount;
pTransactionHistory: TTransactions) : Double;
begin
Result:=pDefault;
end;
(* Berechnung der Depotgebühren. Wird der pDefault-Wert übernommen, dann werden die Einstellungen aus
dem Inland/Ausland- Reiter verwendet *)
function getTransactionFee( pDefault: Double; pAccount: TAccount; pTransaction: TTransaction;
pTransactionHistory: TTransactions; pStock: TStock; pAsset: TAsset; pExchange: TStockExchange): Double;
begin
// Default für Deutsche Aktien über den Default berechnen (Xetra-Modell)
Result:=pDefault;
if (pExchange.Name='D:Frankfurt') and (pStock.AssetType='Aktien') then
Result:=7.5+pTransaction.Amount*pTransaction.Rate*0.09;
// US-Aktien hier gesondert behandeln
if (pStock.CurrencyShortname='$') and (pStock.Country='USA') and (pStock.AssetType='Aktien') then
Result:=0.5+0.004*pTransaction.Amount;
if (pStock.AssetType='ETF') then
Result:=2+pTransaction.Amount*pTransaction.Rate*0.03;
end;
(* Berechnung der Gesamtgebühren für ein Jahr. Wird der pDefault-Wert übernommen wird die Summe aus
allen Einzel-Transaktionskosten plus die Depotgebühr für 1 Jahr zurückgegeben *)
function getTotalCosts( pDefault: Double; pAccount: TAccount;
pTransactionHistory: TTransactions): Double;
begin
Result:=pDefault;
end;
(* Nicht alle Broker/Banken unterstützen jeden Titel. Dies kann hier sogar programatisch festgelegt werden und so
für automatische Filterungen der nutzbaren Konten nach Titelauswahl genutzt werden und für den Kontenvergleich-Simulation,
um zu prüfen, ob mit dem Konto überhaupt alle Titel der Simulation unterstützt werden können *)
function isSupportedStock( pDefault: Boolean; pStock: TStock; pAsset: TAsset ): Boolean;
begin
Result:=pDefault;
end;
Code-Vervollständigung
Während der Eingabe können Sie dabei verschiedene Komfortfunktionen nutzen wie z.B. Code-Vervollständigung. Diese kann mit Strg+Leertaste jederzeit aufgerufen werden. Starten Sie dabei die Eingabe einfach mit p* und Erhalten so die registrierten Kern-Objekte für die Berechnung z.B. für getAccountFeePerYear:
Objekt
|
Beschreibung
|
---|---|
pAccount: TAccount | Zugriff auf die Stammdaten des aktuellen Kontos, um daraus Berechnungen abzuleiten |
pDefault | Standard-Wert für die Gebühr |
pTransactionHistory: TTransaction | Liste aller Transaktionen des Kontos. Es liegt hier noch keine Vorfilterung für das Jahr vor, so dass dies separat gefiltert werden sollte. |
No Comments