

mwoods
Forum Replies Created
-
Hi @Amirben I wrote an article a few months ago that will help giude you based on your interests! Happy learning 🙂
https://medium.com/kx-systems/where-do-i-even-start-learning-kdb-71d464d8969e
medium.com
Where do I even start learning kdb+?
I often get asked: Where do I even start with kdb+? Honestly, my answer always depends — on who you are and what you’re trying to achieve…
-
-
Congrats @jonaz ! So glad you found the Capstone worthwhile and well done persisting and completing 🙂 Thanks for sharing your tips!
-
mwoods
AdministratorApril 28, 2025 at 11:30 am in reply to: Unable to access interactive python kdbx sandbox environment. -
You can use maxs and mins to compute the running maximum/minimum by sym.
q)t1:([]sym:`A`A`B`B;price:53.4 42.4 78.2 45.2;time:00:00:12.123 00:00:13.465 00:00:15.123 00:00:16.123)
q)t1 sym price time ---------------------- A 53.4 00:00:12.123 A 42.4 00:00:13.465 B 78.2 00:00:15.123 B 45.2 00:00:16.123
q)update maxPrice:max maxs price,minPrice:min mins price by sym from t1
sym price time maxPrice minPrice
----------------------------------------
A 53.4 00:00:12.123 53.4 42.4
A 42.4 00:00:13.465 53.4 42.4
B 78.2 00:00:15.123 78.2 45.2
B 45.2 00:00:16.123 78.2 45.2-
This reply was modified 1 month, 1 week ago by
mwoods.
-
This reply was modified 1 month, 1 week ago by
-
To assign a root variable from within a namespace without leaving it you can use upsert or insert and the symbol `.. notation to refer to root namespace:
`..sym upsert get `:/data/sym
-
[Reposting answer above as plain text for readability]
Note that you never need to use each with string. string already implicitly expands over lists.When using parse on a q expression, any functions in the .q namespace are replaced by their definition. You can type .q at the prompt to see these definitions, and if you work in q enough, you will learn to recognize them.
k){x/:y} stands for sv
k){x’y} stands for each, which is redundant as mentioned above
So the full query would look like
![t;();0b;enlist[`ric]!enlist(`$;(“.”sv/:;(string;(flip;(enlist;`sym;`exch)))))]
-
This reply was modified 1 month, 2 weeks ago by
mwoods.
-
This reply was modified 1 month, 2 weeks ago by
-
The site is back up now.
-
Thanks for flagging – we are aware and working on getting it back ASAP. Apologies for this.
-
you can use q first mode https://code.kx.com/pykx/3.1/examples/jupyter-integration.html#7-q-first-mode
kx.util.jupyter_qfirst_enable()
-
so sounds like they are not – you will need to load them – this is part of exercise 3.1
-
So are the tables defined on that process? as per 3.1?
hdbH”tables[]”
-
try line 127 in your screenshot
-
Expunge .z.pg and then see if you have the tables on the process (using \\x). If you don’t you need to load the f1 database then redefine .z.pg and retry
-
This reply was modified 2 months, 2 weeks ago by
mwoods.
-
This reply was modified 2 months, 2 weeks ago by
-
This looks correct – you problem is more likely environmental as when I checked your instance the f1 database was missing, I rebooted and reloaded it and ran this code and 3.6 passes. Please DM me if you continue to have issues