Someone mentioned before once every level up. From my experience its seems by certain duration of time. If possible, you can try it and give us and answer.
1. 1st check you exp meter. When you are close to level, dont level up 1st. Make sure you some extra completed quests to turn in and straight level up after you turn in the quests.
2. Before turn in the quests to gain a new level, visit a merchant, eg blacksmith. Check the items the merchant selling, possible memorize 1 or 2 item and its properties.
3. Now immediately go turn in quest to level up. This max will took you maybe 1 or 2 minutes and you gain a new level.
4. Once you gain a new level, immediately return to the previous merchant which you visited, check upon the item he selling now, see if there any changes on the items, example different armor and weapons compare to previous visit which just couple of minutes ago.
5. If there is changes in the item stocks, then it can be guarantee that merchant stocks will refresh every level up. If no then it will be depends on an uncertain duration of time.
6. Hope you do it and let us know the result