update: in the meantime I just found a way to implement the script "SELECT …" into my file.bean and run it via the query prompt. this works great after I removed the WHERE line.
Now I am wondering if there is a way to run this script but with a specific stock selected only? this works when I run the script directly from CLI by replacing the ^[01] with the stock I want to query. but when running it via query prompt, this isn't possible. can I run the script with flags/filters in order to pick a specific stock only? this could sound like bean-query myfile.bean run myScript -filter "specificStock" thanks david e schrieb am Donnerstag, 11. März 2021 um 09:29:22 UTC+1: > thank you, I am not quite sure how to implement the script you provided > above in your first code (the beanlabs/match_trades.py). do I put it into > my main file or where does it sit and how to invoke it? > > but what I found in the meantime is this script that also allows me to > check the inventory of a stock: > > ```SELECT account, units(sum(position)) as units, cost_number as cost, > first(getprice(currency, cost_currency)) as price, cost(sum(position)) as > book_value, value(sum(position)) as market_value, cost_date as > acquisition_date WHERE account_sortkey(account) ~ "^[01]" GROUP BY account, > cost_date, currency, cost_currency, cost_number, account_sortkey(account) > ORDER BY account_sortkey(account), currency, cost_date``` > > by adding this script to my main file I should be able to run the command > like bean-query file.bean "Script", right? > > is there a way to handle the "^[01]" like a variable so that I can pick > the stock I want to check with a flag for example > > bean-query file.bean "Script" -onlyShowSpecificStock? > > thanks! > > > > [email protected] schrieb am Dienstag, 9. März 2021 um 19:56:45 UTC+1: > >> On Tue, Mar 9, 2021 at 1:24 PM david e <[email protected]> wrote: >> >>> thanks a lot for taking time to answer. I am very new to beancount and I >>> am not a programmer, so this will take a little longer to implement. >>> >>> I will try to get started by running scripts like the one you provided, >>> and hope to be able to can access it via CLI (like having the script >>> available similar to a `bean-report` action. gonna read the docs and start >>> step by step. >>> >>> it is my goal to have an overview of my current positions and from what >>> I have seen so far, beancount is just perfect for that purpose. even >>> without programming skills the advantage of having the tool to report my >>> action exactly the way I want is promising and worth to get into this field. >>> >> >> Oh, to compute your positions, you can use the export script. >> >> There's an old document but it's vastly out-of-date, bean-report is >> deprecated, and Google Finance has been shutdown: >> >> https://docs.google.com/document/d/1mNyE_ONuyEkF_I2l6V_AoAU5HJgI654AOBhHsnNPPqw/edit#heading=h.9lk1l7gqxxfs >> >> However, the script is still very much alive; I'm using it regularly. >> It converts your Ledger to a CSV file with one line per lot/asset, and >> then I provide another script which uploads that to a Google Sheets doc. >> You can then compute various aggregations from that, e.g. Day P/L after >> tax (you do it yourself, in the spreadsheet). >> >> I have a Makefile with these rules to generate and upload the sheets doc: >> >> assets.csv: ledger.beancount >> python3 -m beancount.projects.export ledger.beancount -o $@ >> export-upload: assets.csv >> upload-to-sheets --min-rows=300 -v --docid="DOCID" Data:$< >> >> where you replace the DOCID by the document's id (the long garbled part >> of the URL). >> >> >> I am not trading futures or options, but sometimes using leverage. >> >> >> Should be simpler then. >> >> >> >>> but my first task is to get my current positions into my main file (some >>> are from 2018/2019 and I have to figure out how to handle the cost basis), >>> some are cryptocurrencies and others are stocks. >>> >>> I do have a lot more of trading related questions, do you prefer to have >>> them available as separate conversations or should I put them into here? >>> >> >> Separate threads if you can. >> >> >> >>> >>> thanks >>> [email protected] schrieb am Dienstag, 9. März 2021 um 04:02:30 UTC+1: >>> >>>> On Mon, Mar 8, 2021 at 9:32 AM 'David E' via Beancount < >>>> [email protected]> wrote: >>>> >>>>> Hello, I am very new to Beancount as I want to keep track of my >>>>> trading activities and generate reports with FIFO settings. I love the >>>>> tool >>>>> so far and the community around it. >>>>> >>>>> 1) >>>>> To get started, I want to better understand how Lots are handled and >>>>> therefore want to report active Lots. In the docs (how inventories work > >>>>> cost basis) there is a very good example of what I am looking for >>>>> >>>>> ```units ccy cost cost-ccy lot-date label >>>>> 25 HOOL {23.00 USD, 2015-04-01, "first-lot"} 35 HOOL {27.00 USD, >>>>> 2015-05-01, None}``` >>>>> >>>>> I tried `bean-report books.beancount holdings` but only get a total of >>>>> the account, not the active Lots within. what else could I try? >>>>> >>>> >>>> This this script, which runs the booking code by hand over your >>>> transactions and stores the matches ("trades"): >>>> >>>> https://github.com/beancount/beanlabs/blob/master/beanlabs/trades/match_trades.py >>>> >>>> In v3, it will be built-in and the result of booking will leave traces >>>> in the postings in order to rebuild the trades without having to rebook >>>> everything. >>>> See "Trade Matching and Reporting" section of this doc: >>>> >>>> https://docs.google.com/document/d/1qPdNXaz5zuDQ8M9uoZFyyFis7hA0G55BEfhWhrVBsfc/edit#heading=h.1on91pqrb473 >>>> >>>> In the meantime the script I shared should do the job, and will work on >>>> current v2 branch. >>>> >>>> >>>> >>>>> >>>>> 2) >>>>> As a bonus, I would like to ask how it could be possible to track my >>>>> trades so that I can analyse the outcome. I am thinking of categories >>>>> like >>>>> timeframe or setup. The query for example could be: show me the outcome >>>>> of >>>>> all trades based on the 1H chart (this way I could see where my profits >>>>> come from, interesting to know). problem I see is that I would have to >>>>> book >>>>> it in order to have it available to query, but I would make an entry for >>>>> PnL instead, right? >>>>> >>>> >>>> You should build your own using the results of the above. >>>> >>>> I've done a bunch of custom scripts and many of these aren't shared - >>>> not polished enough - although last year I took some time to structure my >>>> returns calculation based on cash flows and shared it here: >>>> doc: http://furius.ca/beancount/doc/returns >>>> repo: https://github.com/beancount/beangrow >>>> >>>> For options and futures, I have a separate set of scripts, but those >>>> aren't neat enough to share yet, as they remain with some amount of >>>> dependence on my particular style of trading, strategies and they're made >>>> more complicated by options on futures and pairs trades. I'm in a position >>>> to have to generalize it across multiple brokers now so I may end up >>>> putting that out there eventually. >>>> >>>> N.B. If you're on TD, this will come in handy: >>>> >>>> https://github.com/blais/ameritrade/blob/master/examples/ameritrade2beancount.py >>>> >>>> I also share an IBKR importer: >>>> >>>> https://github.com/beancount/beanlabs/blob/master/beanlabs/importers/ibkr/ibkr_flex_reports_csv.py >>>> and have a pretty basic Tastyworks one I could share if anyone cares. >>>> >>>> Hope this helps, >>>> >>>> >>>> >>>>> looking forward to what you have in mind about it. >>>>> thanks >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Beancount" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/beancount/b028cb55-2900-40e7-a473-c1330c5ce2dbn%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/beancount/b028cb55-2900-40e7-a473-c1330c5ce2dbn%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Beancount" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> >> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/beancount/71ecf0a8-a4c3-4d97-94e0-346bc4b3afbfn%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/beancount/71ecf0a8-a4c3-4d97-94e0-346bc4b3afbfn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- You received this message because you are subscribed to the Google Groups "Beancount" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beancount/9f766285-680f-452c-b940-9b65fddf035dn%40googlegroups.com.
