Comments (23)
Cheers, that seems to have solved the issue although now I've run into another issue with US90184L1026 but that's unrelated to this.
from export-to-ghostfolio.
Yeah I figured. Shame for record keeping but not the end of the world as the position is resolved. Thanks for the assist in the main issue!
from export-to-ghostfolio.
I have seen this issue yesterday as well when running the tool myself. Will work on this as soon as I have time!
from export-to-ghostfolio.
I have created a branch that processes my test file. Can you check if this solves your issue? See this.
from export-to-ghostfolio.
Yahoo request seems to not work anymore
`The following result did not validate witt
[
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooEquity/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'EQUITY' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooEquity/properties/typeDisp/const',
keyword: 'const',
params: { allowedValue: 'Equity' },
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooOption/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'OPTION' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooOption/properties/typeDisp/const',
keyword: 'const',
params: { allowedValue: 'Option' },
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooETF/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'ETF' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooETF/properties/typeDisp/const',
keyword: 'const',
params: { allowedValue: 'ETF' },
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooFund/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'MUTUALFUND' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooFund/properties/typeDisp/const',
keyword: 'const',
params: { allowedValue: 'Fund' },
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooIndex/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'INDEX' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooIndex/properties/typeDisp/const',
keyword: 'const',
params: { allowedValue: 'Index' },
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooCurrency/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'CURRENCY' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooCurrency/properties/typeDisp/const',
keyword: 'const',
params: { allowedValue: 'Currency' },
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooCryptocurrency/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'CRYPTOCURRENCY' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooCryptocurrency/properties/typeDisp/const',
keyword: 'const',
params: { allowedValue: 'Cryptocurrency' },
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1',
schemaPath: '#/definitions/SearchQuoteNonYahoo/required',
keyword: 'required',
params: { missingProperty: 'name' },
message: "must have required property 'name'",
data: {
exchange: 'NAS',
shortname: 'Columbia Government Money Marke',
quoteType: 'MONEY_MARKET',
symbol: 'IDSXX',
index: 'quotes',
score: 20010,
typeDisp: 'MoneyMarket',
longname: 'Columbia Funds Series Trust II - Columbia Government Money Market Fund',
exchDisp: 'NASDAQ',
isYahooFinance: true
}
},
{
instancePath: '/quotes/1',
schemaPath: '#/definitions/SearchQuoteNonYahoo/required',
keyword: 'required',
params: { missingProperty: 'permalink' },
message: "must have required property 'permalink'",
data: {
exchange: 'NAS',
shortname: 'Columbia Government Money Marke',
quoteType: 'MONEY_MARKET',
symbol: 'IDSXX',
index: 'quotes',
score: 20010,
typeDisp: 'MoneyMarket',
longname: 'Columbia Funds Series Trust II - Columbia Government Money Market Fund',
exchDisp: 'NASDAQ',
isYahooFinance: true
}
},
{
instancePath: '/quotes/1/isYahooFinance',
schemaPath: '#/definitions/SearchQuoteNonYahoo/properties/isYahooFinance/const',
keyword: 'const',
params: { allowedValue: false },
message: 'must be equal to constant',
data: true
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooFuture/properties/quoteType/const',
keyword: 'const',
params: { allowedValue: 'FUTURE' },
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooFuture/properties/typeDisp/enum',
keyword: 'enum',
params: { allowedValues: [ 'Future', 'Futures' ] },
message: 'must be equal to one of the allowed values',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1',
schemaPath: '#/properties/quotes/items/anyOf',
keyword: 'anyOf',
params: {},
message: 'must match a schema in anyOf',
data: {
exchange: 'NAS',
shortname: 'Columbia Government Money Marke',
quoteType: 'MONEY_MARKET',
symbol: 'IDSXX',
index: 'quotes',
score: 20010,
typeDisp: 'MoneyMarket',
longname: 'Columbia Funds Series Trust II - Columbia Government Money Market Fund',
exchDisp: 'NASDAQ',
isYahooFinance: true
}
}
]
This may happen intermittently and you should catch errors appropriately.
However: 1) if this recently started happening on every request for a symbol
that used to work, Yahoo may have changed their API. 2) If this happens on
every request for a symbol you've never used before, but not for other
symbols, you've found an edge-case (OR, we may just be protecting you from
"bad" data sometimes stored for e.g. misspelt symbols on Yahoo's side).
Please see if anyone has reported this previously:
or open a new issue (and mention the symbol): yahoo-finance2 v2.8.0
For information on how to turn off the above logging or skip these errors,
see https://github.com/gadicc/node-yahoo-finance2/tree/devel/docs/validation.md.
At the end of the doc, there's also a section on how to
Help Fix Validation Errors
in case you'd like to contribute to the project. Most of the time, these
fixes are very quick and easy; it's just hard for our small core team to keep up,
so help is always appreciated!
FailedYahooValidationError: Failed Yahoo Schema validation
at validate (C:\temp\Export-To-Ghostfolio\node_modules\yahoo-finance2\dist\cjs\src\lib\v)
at Object. (C:\temp\Export-To-Ghostfolio\node_modules\yahoo-finance2\dist\cjs)
at Generator.next ()
at fulfilled (C:\temp\Export-To-Ghostfolio\node_modules\yahoo-finance2\dist\cjs\src\lib)
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
result: {
explains: [],
count: 7,
quotes: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object]
],
news: [],
nav: [],
lists: [],
researchReports: [],
screenerFieldResults: [],
totalTime: 37,
timeTakenForQuotes: 427,
timeTakenForNews: 0,
timeTakenForAlgowatchlist: 400,
timeTakenForPredefinedScreener: 400,
timeTakenForCrunchbase: 400,
timeTakenForNav: 400,
timeTakenForResearchReports: 0,
timeTakenForScreenerField: 0,
timeTakenForCulturalAssets: 0
},
errors: [
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooEquity/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooEquity/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooOption/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooOption/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooETF/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooETF/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooFund/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooFund/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooIndex/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooIndex/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooCurrency/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooCurrency/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooCryptocurrency/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooCryptocurrency/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1',
schemaPath: '#/definitions/SearchQuoteNonYahoo/required',
keyword: 'required',
params: [Object],
message: "must have required property 'name'",
data: [Object]
},
{
instancePath: '/quotes/1',
schemaPath: '#/definitions/SearchQuoteNonYahoo/required',
keyword: 'required',
params: [Object],
message: "must have required property 'permalink'",
data: [Object]
},
{
instancePath: '/quotes/1/isYahooFinance',
schemaPath: '#/definitions/SearchQuoteNonYahoo/properties/isYahooFinance/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: true
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooFuture/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooFuture/properties/typeDisp/enum',
keyword: 'enum',
params: [Object],
message: 'must be equal to one of the allowed values',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1',
schemaPath: '#/properties/quotes/items/anyOf',
keyword: 'anyOf',
params: {},
message: 'must match a schema in anyOf',
data: [Object]
}
]
}
C:\temp\Export-To-Ghostfolio\node_modules\yahoo-finance2\dist\cjs\src\lib\validateAndCoerceT4
throw new errors_js_1.FailedYahooValidationError("Failed Yahoo Schema validation", {
^
FailedYahooValidationError: Failed Yahoo Schema validation
at validate (C:\temp\Export-To-Ghostfolio\node_modules\yahoo-finance2\dist\cjs\src\lib\v)
at Object. (C:\temp\Export-To-Ghostfolio\node_modules\yahoo-finance2\dist\cjs)
at Generator.next ()
at fulfilled (C:\temp\Export-To-Ghostfolio\node_modules\yahoo-finance2\dist\cjs\src\lib)
at processTicksAndRejections (node:internal/process/task_queues:95:5) {
result: {
explains: [],
count: 7,
quotes: [
[Object], [Object],
[Object], [Object],
[Object], [Object],
[Object]
],
news: [],
nav: [],
lists: [],
researchReports: [],
screenerFieldResults: [],
totalTime: 37,
timeTakenForQuotes: 427,
timeTakenForNews: 0,
timeTakenForAlgowatchlist: 400,
timeTakenForPredefinedScreener: 400,
timeTakenForCrunchbase: 400,
timeTakenForNav: 400,
timeTakenForResearchReports: 0,
timeTakenForScreenerField: 0,
timeTakenForCulturalAssets: 0
},
errors: [
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooEquity/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooEquity/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooOption/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooOption/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooETF/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooETF/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooFund/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooFund/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooIndex/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooIndex/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooCurrency/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooCurrency/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooCryptocurrency/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooCryptocurrency/properties/typeDisp/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1',
schemaPath: '#/definitions/SearchQuoteNonYahoo/required',
keyword: 'required',
params: [Object],
message: "must have required property 'name'",
data: [Object]
},
{
instancePath: '/quotes/1',
schemaPath: '#/definitions/SearchQuoteNonYahoo/required',
keyword: 'required',
params: [Object],
message: "must have required property 'permalink'",
data: [Object]
},
{
instancePath: '/quotes/1/isYahooFinance',
schemaPath: '#/definitions/SearchQuoteNonYahoo/properties/isYahooFinance/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: true
},
{
instancePath: '/quotes/1/quoteType',
schemaPath: '#/definitions/SearchQuoteYahooFuture/properties/quoteType/const',
keyword: 'const',
params: [Object],
message: 'must be equal to constant',
data: 'MONEY_MARKET'
},
{
instancePath: '/quotes/1/typeDisp',
schemaPath: '#/definitions/SearchQuoteYahooFuture/properties/typeDisp/enum',
keyword: 'enum',
params: [Object],
message: 'must be equal to one of the allowed values',
data: 'MoneyMarket'
},
{
instancePath: '/quotes/1',
schemaPath: '#/properties/quotes/items/anyOf',
keyword: 'anyOf',
params: {},
message: 'must match a schema in anyOf',
data: [Object]
}
]
}
[nodemon] app crashed - waiting for file changes before starting...`
from export-to-ghostfolio.
I see, I had this before and disabled YF validation but it seems I only did this for the Quote Summary request. I'll add the validation skip to search as well then.
from export-to-ghostfolio.
I have added the validation skip to the proposed fix branch here. Can you validate if the issue persists?
I also fixed the number in the progress bar, as this was not representative to the real number of processed lines (there were some "move to next line" actions that did not increment the bar).
from export-to-ghostfolio.
Had no errors during the convert task. But the JSON now only has "DIVIDEND" entries and no BUY or SELL entries. The exported CSV but has BUY and SELL entries.
from export-to-ghostfolio.
Allright, will look into it later this weekend and check of my example export has the same issue. Will also try a recent export of mine in case the example export is oudated.
from export-to-ghostfolio.
Fyi my BUY and SELL entries do not have a @ symbol in the CSV. Since mine is in german its just BUY for example: "Kauf XX zu je XX.XX EUR (DEXXXXXX)"
from export-to-ghostfolio.
That could be the root cause. The Dutch export does have that '@'.
Could you send me a file (or lines) of buy/sell in German so I can work with that?
from export-to-ghostfolio.
Thank you, will look into later this weekend
from export-to-ghostfolio.
@dascgit I have added some German specific checks and the example you sent me can be processed now.
from export-to-ghostfolio.
Now I get this output:
Processing file using DeGiro converter Read CSV file C:\Users\User\Downloads\Account.csv. Start processing.. █████████████████████░░░░░░░░░░░░░░░░░░░ 52% | ETA 80s | Duration: 53s | 147/278 C:\git\Export-To-Ghostfolio\src\converters\degiroConverter.ts:185 result.activities[result.activities.length - 1].symbol = security.symbol; ^ TypeError: Cannot read properties of null (reading 'symbol') at DeGiroConverter.<anonymous> (C:\git\Export-To-Ghostfolio\src\converters\degiroConverter.ts:185:81) at Generator.next (<anonymous>) at fulfilled (C:\git\Export-To-Ghostfolio\src\converters\degiroConverter.ts:28:58) at processTicksAndRejections (node:internal/process/task_queues:95:5) [nodemon] app crashed - waiting for file changes before starting...
from export-to-ghostfolio.
Will look in to this probably later this week, haven’t had time due to other responsibilities.
I also saw Ghostfolio added a new api for search, might look into that and then remove my own implementation if Ghostfolio works as fast. The current list of issues started when I moved from Ghostfolio search to my own implementation of search because the old Ghostfolio api was extremely slow since 2.x release.
from export-to-ghostfolio.
Closed by mistake (by merging to main).
Can you please send me the order line and preceding transaction fee line that causes issues? This is probably because there was no symbol found on the sell order. But I need to check to be sure.
from export-to-ghostfolio.
I have no idea which line or transaction it was to be honest. I have seen the CSV Export from degiro does strange things. For example they split one line into two lines and the second line misses a lot of informations.
`LINE150: 16-03-2023,14:23,16-02-2023,BASF SE,DE000BASF111,Währungswechsel (Ausbuchung),1.0154,EUR,-XX.XX,EUR,0.00,17d16616-7634-11ee-
LINE151: ,,,,,,,,,,,b962-0242ac120002`
Maybe the symbol that could not be found was "GB00BDVZYZ77" ?
from export-to-ghostfolio.
Hi there, I've been running into a similar issue. Hopefully this anonymized data can help elucidate the issue:
getSecurity(): Found 1 matches by ISIN <ISIN_NUMBER_1>
getSecurity(): No initial match found, trying by symbol <SYMBOL_1>
getSecurity(): No match found for symbol <SYMBOL_1>, trying by name <NAME_1>.
getSymbolsByQuery(): Quote has no symbol at Yahoo Finance undefined. Skipping..
getSymbolsByQuery(): Quote has no symbol at Yahoo Finance undefined. Skipping..
getSecurity(): Found 1 matches by ISIN <ISIN_NUMBER_1>
getSecurity(): No initial match found, trying by symbol <SYMBOL_1>
getSecurity(): No match found for symbol <SYMBOL_1>, trying by name <NAME_1>.
███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 28% | ETA 91s | Duration: 47s | 110/384/<path>/Export-4
result.activities[result.activities.length - 1].symbol = security.symbol;
^
TypeError: Cannot read properties of null (reading 'symbol')
at DeGiroConverter.<anonymous> (/<path>/Export-To-Ghostfolio/src/converters/degiroConverter)
at Generator.next (<anonymous>)
at fulfilled (/<path>/Export-To-Ghostfolio/src/converters/degiroConverter.ts:28:58)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
[nodemon] app crashed - waiting for file changes before starting...
The first line in the csv where we encounter that security is a transaction fee labelled as "DEGIRO Transaktionsgebühren und/oder Fremdkosten". That is then followed by the actual purchase, labelled "Kauf AMOUNT zu je PRICE EUR (ISIN)", where we encounter the crash. Both possess the same ISIN.
Looks like we find the security just fine with the ISIN but because this security is listed on TDG under a different symbol than on NASD it struggles to match it to the expected currency in findSymbolMatch. I'm guessing our trouble may come from that unhandled edge case but it's just a shot in the dark.
from export-to-ghostfolio.
I have no idea which line or transaction it was to be honest. I have seen the CSV Export from degiro does strange things. For example they split one line into two lines and the second line misses a lot of informations.
`LINE150: 16-03-2023,14:23,16-02-2023,BASF SE,DE000BASF111,Währungswechsel (Ausbuchung),1.0154,EUR,-XX.XX,EUR,0.00,17d16616-7634-11ee-
LINE151: ,,,,,,,,,,,b962-0242ac120002`
Maybe the symbol that could not be found was "GB00BDVZYZ77" ?
@dascgit I have added "Währungswechsel" lines to the skip list, so this should make sure you can continue processing.
from export-to-ghostfolio.
Hi there, I've been running into a similar issue. Hopefully this anonymized data can help elucidate the issue:
getSecurity(): Found 1 matches by ISIN <ISIN_NUMBER_1> getSecurity(): No initial match found, trying by symbol <SYMBOL_1> getSecurity(): No match found for symbol <SYMBOL_1>, trying by name <NAME_1>. getSymbolsByQuery(): Quote has no symbol at Yahoo Finance undefined. Skipping.. getSymbolsByQuery(): Quote has no symbol at Yahoo Finance undefined. Skipping.. getSecurity(): Found 1 matches by ISIN <ISIN_NUMBER_1> getSecurity(): No initial match found, trying by symbol <SYMBOL_1> getSecurity(): No match found for symbol <SYMBOL_1>, trying by name <NAME_1>. ███████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 28% | ETA 91s | Duration: 47s | 110/384/<path>/Export-4 result.activities[result.activities.length - 1].symbol = security.symbol; ^ TypeError: Cannot read properties of null (reading 'symbol') at DeGiroConverter.<anonymous> (/<path>/Export-To-Ghostfolio/src/converters/degiroConverter) at Generator.next (<anonymous>) at fulfilled (/<path>/Export-To-Ghostfolio/src/converters/degiroConverter.ts:28:58) at runMicrotasks (<anonymous>) at processTicksAndRejections (node:internal/process/task_queues:96:5) [nodemon] app crashed - waiting for file changes before starting...
The first line in the csv where we encounter that security is a transaction fee labelled as "DEGIRO Transaktionsgebühren und/oder Fremdkosten". That is then followed by the actual purchase, labelled "Kauf AMOUNT zu je PRICE EUR (ISIN)", where we encounter the crash. Both possess the same ISIN.
Looks like we find the security just fine with the ISIN but because this security is listed on TDG under a different symbol than on NASD it struggles to match it to the expected currency in findSymbolMatch. I'm guessing our trouble may come from that unhandled edge case but it's just a shot in the dark.
@mlbullett Can you give me the name of the stock/etf that gives you issues? That way I can check wether I get the same issue. I have also added a "prefered exchange" config setting recently. You can set this so a prefered exchange postfix (e.g. .AS
for Euronext Amsterdam) and then we pick that one if it is present in the result list.
from export-to-ghostfolio.
Hi @dickwolff, thanks for replying.
Sure, in this instance it was US88160R1014 but it also happened with other securities when I removed it like US0079031078.
from export-to-ghostfolio.
I have added some checks in this branch for a similar issue someone else had. Could you check the version in that branch and see if it gives you the same issue, or if that change resolves it?
from export-to-ghostfolio.
It seems that Yahoo Finance does no longer recognize TWTR since it has been taken private by Elon.
from export-to-ghostfolio.
Related Issues (20)
- [Degiro exporter v2] Taxes on dividend are added as dividends instead of substracting it from the dividend HOT 3
- [Degiro exporter v1] undefined 'comment' HOT 3
- Only Fees being processed in Docker HOT 10
- Fix workflow runs on PR from other contributors HOT 6
- Create Yahoo Finance mock for testing purposes HOT 1
- Add test coverage to `SecurityService.ts` HOT 1
- Add functionality to automatically validate JSON and upload to Ghostfolio
- new install fails on dayjs import HOT 2
- Degiro conversion error - module not found HOT 16
- Make DEGIRO V2 GA
- Swchab conversion error HOT 15
- Include BUX csv template HOT 13
- DeGiro conversion failing HOT 2
- Got a parsing error HOT 6
- Error when processing DEGIRO file due to Currency Exchange operation HOT 3
- Import Activities Error HOT 13
- Symbol mapping HOT 2
- Swissquote cash balance HOT 10
- Degiro import fails with "[e] An error ocurred while trying to retrieve an empty symbol (line 38)!" HOT 1
- XTB import fails with `TypeError: Cannot read properties of null (reading '1')` HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from export-to-ghostfolio.