portfolio-performance / portfolio

Track and evaluate the performance of your investment portfolio across stocks, cryptocurrencies, and other assets.
http://www.portfolio-performance.info
Eclipse Public License 1.0
2.91k stars 599 forks source link

Aktie in Fremdwährung gekauft, ohne Kursdaten: TTWROR -100% #965

Closed Al2Klimov closed 6 years ago

Al2Klimov commented 6 years ago

Beispiel zum Reproduzieren:

<client>
  <version>37</version>
  <baseCurrency>EUR</baseCurrency>
  <securities>
    <security>
      <uuid>2797c2a2-458d-4f36-a349-76869a7eb4a0</uuid>
      <name>Apple</name>
      <currencyCode>USD</currencyCode>
      <isin>US0378331005</isin>
      <tickerSymbol>AAPL</tickerSymbol>
      <wkn>865985</wkn>
      <feed>MANUAL</feed>
      <prices/>
      <attributes>
        <map/>
      </attributes>
      <events/>
      <isRetired>false</isRetired>
    </security>
  </securities>
  <watchlists/>
  <consumerPriceIndeces>
    <cpi y="2018" m="3" i="11070"/>
  </consumerPriceIndeces>
  <accounts>
    <account>
      <uuid>91f734e3-816a-4b12-8764-b8f96e503aa9</uuid>
      <name>Degiro</name>
      <currencyCode>EUR</currencyCode>
      <isRetired>false</isRetired>
      <transactions>
        <account-transaction>
          <date>2018-05-02T00:00</date>
          <currencyCode>EUR</currencyCode>
          <amount>70000</amount>
          <shares>0</shares>
          <type>DEPOSIT</type>
        </account-transaction>
        <account-transaction>
          <date>2018-05-02T00:00</date>
          <currencyCode>EUR</currencyCode>
          <amount>63800</amount>
          <security reference="../../../../../securities/security"/>
          <crossEntry class="buysell">
            <portfolio>
              <uuid>030d8415-4ad2-478b-9e01-15624b3e10ce</uuid>
              <name>Degiro</name>
              <isRetired>false</isRetired>
              <referenceAccount reference="../../../../.."/>
              <transactions>
                <portfolio-transaction>
                  <date reference="../../../../../date"/>
                  <currencyCode>EUR</currencyCode>
                  <amount>63800</amount>
                  <security reference="../../../../../../../../../securities/security"/>
                  <crossEntry class="buysell" reference="../../../.."/>
                  <shares>7000000</shares>
                  <units>
                    <unit type="FEE">
                      <amount currency="EUR" amount="800"/>
                    </unit>
                    <unit type="GROSS_VALUE">
                      <amount currency="EUR" amount="63000"/>
                      <forex currency="USD" amount="69300"/>
                      <exchangeRate>0.9090909091</exchangeRate>
                    </unit>
                  </units>
                  <type>BUY</type>
                </portfolio-transaction>
              </transactions>
            </portfolio>
            <portfolioTransaction reference="../portfolio/transactions/portfolio-transaction"/>
            <account reference="../../../.."/>
            <accountTransaction reference="../.."/>
          </crossEntry>
          <shares>0</shares>
          <type>BUY</type>
        </account-transaction>
      </transactions>
    </account>
  </accounts>
  <portfolios>
    <portfolio reference="../../accounts/account/transactions/account-transaction[2]/crossEntry/portfolio"/>
  </portfolios>
  <plans/>
  <taxonomies/>
  <dashboards/>
  <properties/>
  <settings>
    <bookmarks>
      <bookmark>
        <label>Yahoo Finance</label>
        <pattern>http://de.finance.yahoo.com/q?s={tickerSymbol}</pattern>
      </bookmark>
    </bookmarks>
    <attributeTypes>
      <attribute-type>
        <id>ter</id>
        <name>Gesamtkostenquote (TER)</name>
        <columnLabel>TER</columnLabel>
        <target>name.abuchen.portfolio.model.Security</target>
        <type>java.lang.Double</type>
        <converterClass>name.abuchen.portfolio.model.AttributeType$PercentConverter</converterClass>
      </attribute-type>
      <attribute-type>
        <id>aum</id>
        <name>Fondsgröße</name>
        <columnLabel>Fondsgröße</columnLabel>
        <target>name.abuchen.portfolio.model.Security</target>
        <type>java.lang.Long</type>
        <converterClass>name.abuchen.portfolio.model.AttributeType$AmountPlainConverter</converterClass>
      </attribute-type>
      <attribute-type>
        <id>vendor</id>
        <name>Anbieter</name>
        <columnLabel>Anbieter</columnLabel>
        <target>name.abuchen.portfolio.model.Security</target>
        <type>java.lang.String</type>
        <converterClass>name.abuchen.portfolio.model.AttributeType$StringConverter</converterClass>
      </attribute-type>
      <attribute-type>
        <id>acquisitionFee</id>
        <name>Kaufgebühr (prozentual)</name>
        <columnLabel>Kaufgebühr</columnLabel>
        <target>name.abuchen.portfolio.model.Security</target>
        <type>java.lang.Double</type>
        <converterClass>name.abuchen.portfolio.model.AttributeType$PercentConverter</converterClass>
      </attribute-type>
      <attribute-type>
        <id>managementFee</id>
        <name>Verwaltungsgebühr (prozentual)</name>
        <columnLabel>Verwaltungsgebühr</columnLabel>
        <target>name.abuchen.portfolio.model.Security</target>
        <type>java.lang.Double</type>
        <converterClass>name.abuchen.portfolio.model.AttributeType$PercentConverter</converterClass>
      </attribute-type>
    </attributeTypes>
    <configurationSets>
      <entry>
        <string>name.abuchen.portfolio.ui.views.SecuritiesPerformanceView</string>
        <config-set>
          <configurations>
            <config>
              <uuid>9776dcde-bd68-435d-b403-e9c07c0c5591</uuid>
              <name>Standard</name>
            </config>
          </configurations>
        </config-set>
      </entry>
      <entry>
        <string>name.abuchen.portfolio.ui.views.SecuritiesTable</string>
        <config-set>
          <configurations>
            <config>
              <uuid>a1b3f427-d3c9-483f-a03e-176421943eae</uuid>
              <name>Standard</name>
              <data>0=1024$400;note=22;1=100;2=80;4=60;5=60;9=80;10=80;</data>
            </config>
          </configurations>
        </config-set>
      </entry>
      <entry>
        <string>name.abuchen.portfolio.ui.views.StatementOfAssetsViewer</string>
        <config-set>
          <configurations>
            <config>
              <uuid>042facfc-3f6e-4a30-90e0-423f4efa62a7</uuid>
              <name>Standard</name>
              <data>0=80;1=300;2=60;4=60;5=80;6=80;note=22;</data>
            </config>
          </configurations>
        </config-set>
      </entry>
    </configurationSets>
  </settings>
</client>
ghost commented 6 years ago

Was für einen Wert würdest du denn für richtig erachten? Die einzige Alternative wäre wenn überhaupt das keinen Wert bzw "n/a" angezeigt wird.

PP braucht zur Berechnung einen Kurs und wenn dieser Wert fehlt wird 0,00 verwendet.

Al2Klimov commented 6 years ago

Wenn dieser Wert fehlt, würde ich hilfsweise mit dem letzten Kaufpreis ansetzen. Unabhängig davon was die Software ansetzt, wäre mir wichtig, dass sie überhaupt etwas ansetzt. Mir ist dieser Bug nämlich dadurch aufgefallen, dass ich Derivate in Heimatwährung (EUR) und Aktien in Fremdwährung (USD) ge- und wieder verkauft habe und mir jeweils nicht die Mühe gemacht habe, Kursdaten zu beziehen oder einzutragen. Nachdem ich mein Portfolio mit den Transaktionen Synchronisiert habe, wurde ich von einem Crashartigen Rücksetzer von -70% im Performancediagramm überrascht. Ich habe mich Kurzerhand auf die Suche nach dem Übeltäter gemacht und festgestellt, dass alle Aktien in USD einen TTWROR von -100% aufweisen, aber nicht die Derivate in EUR. Schnell je den Kaufkurs von Hand eingetragen – und alles war wieder normal.

(Da sieht man, dass der Mensch der Maschine überlegen ist.)

Al2Klimov commented 6 years ago

PS: Begründung für den letzten Kaufpreis:

  1. Kurse sind nichts anderes als festgestellte Preise.
  2. Wenn ich an der Börse eine Aktie kaufe, wird ein Preis festgestellt.

Alternative: Bei fehlenden Kursen den Preis von jedem Trade als Kurs an dem Tag ansetzen.

buchen commented 6 years ago

Siehe #966 - ist jetzt drin.